{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Overview"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Detecting Anomalies can be a difficult task and especially in the case of labeled datasets due to some level of human bias introduced while labeling the final product as anomalous or good. These giant manufacturing systems need to be monitored every 10 milliseconds to capture their behavior which brings in lots of information and what we call the Industrial IoT (IIOT). Also, hardly a manufacturer wants to create an anomalous product. Hence, the anomalies are like a needle in a haystack which renders the dataset that is significantly Imbalanced. \n",
    "\n",
    "Capturing such a dataset using a machine learning model and making the model generalize can be fun. In this competition, we bring such a use-case from one of India's leading manufacturers of wafers(semiconductors). The dataset collected was anonymized to hide the feature names, also there are 1558 features that would require some serious domain knowledge to understand them. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Importing Libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "from sklearn.metrics import roc_auc_score"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data Analysis and Data Processing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('Train.csv')\n",
    "df_test = pd.read_csv('Test.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 1763 entries, 0 to 1762\n",
      "Columns: 1559 entries, feature_1 to Class\n",
      "dtypes: float64(1), int64(1558)\n",
      "memory usage: 21.0 MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we can see that this is a high dimensionality dataset. Let's drop the duplicate columns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "duplicate=df.drop('Class',axis=1).T.drop_duplicates().T.columns\n",
    "Class = df['Class']\n",
    "df_test = df_test[duplicate]\n",
    "df = df[duplicate]\n",
    "df['Class'] = Class"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's check again."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 1763 entries, 0 to 1762\n",
      "Columns: 730 entries, feature_1 to Class\n",
      "dtypes: float64(1), int64(729)\n",
      "memory usage: 9.8 MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Almost half of the columns were just duplicates. We just have half of the columns remained. Keeping the duplicate columns would have let to a less interpretable and slower model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature_1</th>\n",
       "      <th>feature_2</th>\n",
       "      <th>feature_3</th>\n",
       "      <th>feature_4</th>\n",
       "      <th>feature_5</th>\n",
       "      <th>feature_6</th>\n",
       "      <th>feature_7</th>\n",
       "      <th>feature_8</th>\n",
       "      <th>feature_9</th>\n",
       "      <th>feature_10</th>\n",
       "      <th>...</th>\n",
       "      <th>feature_1549</th>\n",
       "      <th>feature_1550</th>\n",
       "      <th>feature_1551</th>\n",
       "      <th>feature_1552</th>\n",
       "      <th>feature_1553</th>\n",
       "      <th>feature_1554</th>\n",
       "      <th>feature_1555</th>\n",
       "      <th>feature_1557</th>\n",
       "      <th>feature_1558</th>\n",
       "      <th>Class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>100</td>\n",
       "      <td>160</td>\n",
       "      <td>1.6000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20</td>\n",
       "      <td>83</td>\n",
       "      <td>4.1500</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>99</td>\n",
       "      <td>150</td>\n",
       "      <td>1.5151</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>40</td>\n",
       "      <td>40</td>\n",
       "      <td>1.0000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>12</td>\n",
       "      <td>234</td>\n",
       "      <td>19.5000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 730 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   feature_1  feature_2  feature_3  feature_4  feature_5  feature_6  \\\n",
       "0        100        160     1.6000          0          0          0   \n",
       "1         20         83     4.1500          1          0          0   \n",
       "2         99        150     1.5151          1          0          0   \n",
       "3         40         40     1.0000          0          0          0   \n",
       "4         12        234    19.5000          1          0          0   \n",
       "\n",
       "   feature_7  feature_8  feature_9  feature_10  ...  feature_1549  \\\n",
       "0          0          0          0           0  ...             0   \n",
       "1          0          0          0           1  ...             0   \n",
       "2          0          0          0           0  ...             0   \n",
       "3          0          0          0           0  ...             0   \n",
       "4          0          0          0           0  ...             0   \n",
       "\n",
       "   feature_1550  feature_1551  feature_1552  feature_1553  feature_1554  \\\n",
       "0             0             0             0             0             0   \n",
       "1             0             0             0             0             0   \n",
       "2             0             0             0             0             0   \n",
       "3             0             0             0             0             0   \n",
       "4             0             0             0             0             0   \n",
       "\n",
       "   feature_1555  feature_1557  feature_1558  Class  \n",
       "0             0             0             0      0  \n",
       "1             1             0             0      0  \n",
       "2             0             0             0      0  \n",
       "3             0             0             0      0  \n",
       "4             0             0             0      0  \n",
       "\n",
       "[5 rows x 730 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On looking at the data carefully we can see that only 'feature_1', 'feature_2', and 'feature_3' columns are numerical. All others are binary. Let's analyze the numerical columns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.set(style=\"whitegrid\")\n",
    "ax = sns.boxplot(x=\"Class\", y=\"feature_1\",data=df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.boxplot(x=\"Class\", y=\"feature_2\",data=df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.boxplot(x=\"Class\", y=\"feature_3\",data=df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>feature_1</th>\n",
       "      <td>0.006458</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>feature_2</th>\n",
       "      <td>0.330720</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>feature_3</th>\n",
       "      <td>0.108288</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Class</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              Class\n",
       "feature_1  0.006458\n",
       "feature_2  0.330720\n",
       "feature_3  0.108288\n",
       "Class      1.000000"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame(df[['feature_1','feature_2','feature_3','Class']].corr()['Class'])\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's work more eliminating useless features. Let's check if there are any columns which only consists of zeroes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "zero = pd.DataFrame((df == 0).astype(int).sum(axis=0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>feature_1</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>feature_2</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>feature_3</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>feature_4</th>\n",
       "      <td>486</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>feature_5</th>\n",
       "      <td>1758</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>feature_1554</th>\n",
       "      <td>1756</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>feature_1555</th>\n",
       "      <td>1736</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>feature_1557</th>\n",
       "      <td>1746</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>feature_1558</th>\n",
       "      <td>1761</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Class</th>\n",
       "      <td>1620</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>730 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                 0\n",
       "feature_1        0\n",
       "feature_2        0\n",
       "feature_3        0\n",
       "feature_4      486\n",
       "feature_5     1758\n",
       "...            ...\n",
       "feature_1554  1756\n",
       "feature_1555  1736\n",
       "feature_1557  1746\n",
       "feature_1558  1761\n",
       "Class         1620\n",
       "\n",
       "[730 rows x 1 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zero"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This dataframe gives us the number of zeroes every feature has. So out of 1763 values if a column has 1762 or 1763 zeroes itself than it is a pretty bad feature as the model won't be able to capture any pattern out if it. So let's drop them."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_zero = zero[zero[0]>1761].index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.drop(all_zero,axis=1,inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_test.drop(all_zero,axis=1,inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 1763 entries, 0 to 1762\n",
      "Columns: 723 entries, feature_1 to Class\n",
      "dtypes: float64(1), int64(722)\n",
      "memory usage: 9.7 MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So now we have now successfully removed 7 more useless features"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Model Building"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = df.drop('Class',axis=1)\n",
    "y = df['Class'].values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As it is a very high dimensional dataset it is very easy to overfit. That's why hyperparameter tuning played a huge role. Let's go in-depth with some of the hyperparameters:\n",
    "\n",
    "scale_pos_weight : To counter the imbalanced nature of the dataset\n",
    "\n",
    "colsample_bytree, subsample, reg_lambda : To counter overfitting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tvalidation_0-logloss:0.686058\n",
      "Will train until validation_0-logloss hasn't improved in 50 rounds.\n",
      "[1]\tvalidation_0-logloss:0.679579\n",
      "[2]\tvalidation_0-logloss:0.672846\n",
      "[3]\tvalidation_0-logloss:0.666644\n",
      "[4]\tvalidation_0-logloss:0.659762\n",
      "[5]\tvalidation_0-logloss:0.653567\n",
      "[6]\tvalidation_0-logloss:0.64726\n",
      "[7]\tvalidation_0-logloss:0.640943\n",
      "[8]\tvalidation_0-logloss:0.635053\n",
      "[9]\tvalidation_0-logloss:0.629305\n",
      "[10]\tvalidation_0-logloss:0.623016\n",
      "[11]\tvalidation_0-logloss:0.617321\n",
      "[12]\tvalidation_0-logloss:0.61172\n",
      "[13]\tvalidation_0-logloss:0.605567\n",
      "[14]\tvalidation_0-logloss:0.59997\n",
      "[15]\tvalidation_0-logloss:0.594569\n",
      "[16]\tvalidation_0-logloss:0.58909\n",
      "[17]\tvalidation_0-logloss:0.584022\n",
      "[18]\tvalidation_0-logloss:0.579084\n",
      "[19]\tvalidation_0-logloss:0.573959\n",
      "[20]\tvalidation_0-logloss:0.56946\n",
      "[21]\tvalidation_0-logloss:0.564486\n",
      "[22]\tvalidation_0-logloss:0.559631\n",
      "[23]\tvalidation_0-logloss:0.554953\n",
      "[24]\tvalidation_0-logloss:0.55024\n",
      "[25]\tvalidation_0-logloss:0.546004\n",
      "[26]\tvalidation_0-logloss:0.541487\n",
      "[27]\tvalidation_0-logloss:0.537221\n",
      "[28]\tvalidation_0-logloss:0.532815\n",
      "[29]\tvalidation_0-logloss:0.528804\n",
      "[30]\tvalidation_0-logloss:0.524795\n",
      "[31]\tvalidation_0-logloss:0.520914\n",
      "[32]\tvalidation_0-logloss:0.517099\n",
      "[33]\tvalidation_0-logloss:0.513087\n",
      "[34]\tvalidation_0-logloss:0.509045\n",
      "[35]\tvalidation_0-logloss:0.504898\n",
      "[36]\tvalidation_0-logloss:0.500769\n",
      "[37]\tvalidation_0-logloss:0.496781\n",
      "[38]\tvalidation_0-logloss:0.492593\n",
      "[39]\tvalidation_0-logloss:0.488746\n",
      "[40]\tvalidation_0-logloss:0.485197\n",
      "[41]\tvalidation_0-logloss:0.48129\n",
      "[42]\tvalidation_0-logloss:0.477331\n",
      "[43]\tvalidation_0-logloss:0.473692\n",
      "[44]\tvalidation_0-logloss:0.470671\n",
      "[45]\tvalidation_0-logloss:0.467432\n",
      "[46]\tvalidation_0-logloss:0.463996\n",
      "[47]\tvalidation_0-logloss:0.460599\n",
      "[48]\tvalidation_0-logloss:0.457477\n",
      "[49]\tvalidation_0-logloss:0.453963\n",
      "[50]\tvalidation_0-logloss:0.450932\n",
      "[51]\tvalidation_0-logloss:0.44781\n",
      "[52]\tvalidation_0-logloss:0.444642\n",
      "[53]\tvalidation_0-logloss:0.441567\n",
      "[54]\tvalidation_0-logloss:0.439174\n",
      "[55]\tvalidation_0-logloss:0.436439\n",
      "[56]\tvalidation_0-logloss:0.433544\n",
      "[57]\tvalidation_0-logloss:0.430589\n",
      "[58]\tvalidation_0-logloss:0.42792\n",
      "[59]\tvalidation_0-logloss:0.425546\n",
      "[60]\tvalidation_0-logloss:0.422808\n",
      "[61]\tvalidation_0-logloss:0.420337\n",
      "[62]\tvalidation_0-logloss:0.417669\n",
      "[63]\tvalidation_0-logloss:0.415223\n",
      "[64]\tvalidation_0-logloss:0.412597\n",
      "[65]\tvalidation_0-logloss:0.410099\n",
      "[66]\tvalidation_0-logloss:0.40751\n",
      "[67]\tvalidation_0-logloss:0.404979\n",
      "[68]\tvalidation_0-logloss:0.402336\n",
      "[69]\tvalidation_0-logloss:0.399958\n",
      "[70]\tvalidation_0-logloss:0.397759\n",
      "[71]\tvalidation_0-logloss:0.395526\n",
      "[72]\tvalidation_0-logloss:0.393102\n",
      "[73]\tvalidation_0-logloss:0.391046\n",
      "[74]\tvalidation_0-logloss:0.388829\n",
      "[75]\tvalidation_0-logloss:0.38656\n",
      "[76]\tvalidation_0-logloss:0.384567\n",
      "[77]\tvalidation_0-logloss:0.382816\n",
      "[78]\tvalidation_0-logloss:0.380895\n",
      "[79]\tvalidation_0-logloss:0.379042\n",
      "[80]\tvalidation_0-logloss:0.376628\n",
      "[81]\tvalidation_0-logloss:0.374846\n",
      "[82]\tvalidation_0-logloss:0.372439\n",
      "[83]\tvalidation_0-logloss:0.370206\n",
      "[84]\tvalidation_0-logloss:0.368248\n",
      "[85]\tvalidation_0-logloss:0.366097\n",
      "[86]\tvalidation_0-logloss:0.364415\n",
      "[87]\tvalidation_0-logloss:0.362459\n",
      "[88]\tvalidation_0-logloss:0.360479\n",
      "[89]\tvalidation_0-logloss:0.358238\n",
      "[90]\tvalidation_0-logloss:0.356572\n",
      "[91]\tvalidation_0-logloss:0.354932\n",
      "[92]\tvalidation_0-logloss:0.353335\n",
      "[93]\tvalidation_0-logloss:0.351872\n",
      "[94]\tvalidation_0-logloss:0.349958\n",
      "[95]\tvalidation_0-logloss:0.347975\n",
      "[96]\tvalidation_0-logloss:0.346344\n",
      "[97]\tvalidation_0-logloss:0.344935\n",
      "[98]\tvalidation_0-logloss:0.343382\n",
      "[99]\tvalidation_0-logloss:0.341936\n",
      "[100]\tvalidation_0-logloss:0.340095\n",
      "[101]\tvalidation_0-logloss:0.338303\n",
      "[102]\tvalidation_0-logloss:0.336424\n",
      "[103]\tvalidation_0-logloss:0.335061\n",
      "[104]\tvalidation_0-logloss:0.333598\n",
      "[105]\tvalidation_0-logloss:0.331942\n",
      "[106]\tvalidation_0-logloss:0.330491\n",
      "[107]\tvalidation_0-logloss:0.328812\n",
      "[108]\tvalidation_0-logloss:0.327325\n",
      "[109]\tvalidation_0-logloss:0.326029\n",
      "[110]\tvalidation_0-logloss:0.324846\n",
      "[111]\tvalidation_0-logloss:0.323757\n",
      "[112]\tvalidation_0-logloss:0.322665\n",
      "[113]\tvalidation_0-logloss:0.321278\n",
      "[114]\tvalidation_0-logloss:0.319794\n",
      "[115]\tvalidation_0-logloss:0.318673\n",
      "[116]\tvalidation_0-logloss:0.317575\n",
      "[117]\tvalidation_0-logloss:0.316495\n",
      "[118]\tvalidation_0-logloss:0.31545\n",
      "[119]\tvalidation_0-logloss:0.314299\n",
      "[120]\tvalidation_0-logloss:0.313247\n",
      "[121]\tvalidation_0-logloss:0.311848\n",
      "[122]\tvalidation_0-logloss:0.310467\n",
      "[123]\tvalidation_0-logloss:0.309121\n",
      "[124]\tvalidation_0-logloss:0.30807\n",
      "[125]\tvalidation_0-logloss:0.306677\n",
      "[126]\tvalidation_0-logloss:0.305692\n",
      "[127]\tvalidation_0-logloss:0.30453\n",
      "[128]\tvalidation_0-logloss:0.303379\n",
      "[129]\tvalidation_0-logloss:0.302419\n",
      "[130]\tvalidation_0-logloss:0.301279\n",
      "[131]\tvalidation_0-logloss:0.300005\n",
      "[132]\tvalidation_0-logloss:0.298655\n",
      "[133]\tvalidation_0-logloss:0.297648\n",
      "[134]\tvalidation_0-logloss:0.296403\n",
      "[135]\tvalidation_0-logloss:0.295342\n",
      "[136]\tvalidation_0-logloss:0.294051\n",
      "[137]\tvalidation_0-logloss:0.293164\n",
      "[138]\tvalidation_0-logloss:0.29203\n",
      "[139]\tvalidation_0-logloss:0.290716\n",
      "[140]\tvalidation_0-logloss:0.289754\n",
      "[141]\tvalidation_0-logloss:0.288684\n",
      "[142]\tvalidation_0-logloss:0.287781\n",
      "[143]\tvalidation_0-logloss:0.286666\n",
      "[144]\tvalidation_0-logloss:0.285861\n",
      "[145]\tvalidation_0-logloss:0.284593\n",
      "[146]\tvalidation_0-logloss:0.283687\n",
      "[147]\tvalidation_0-logloss:0.283073\n",
      "[148]\tvalidation_0-logloss:0.282252\n",
      "[149]\tvalidation_0-logloss:0.281519\n",
      "[150]\tvalidation_0-logloss:0.280512\n",
      "[151]\tvalidation_0-logloss:0.279756\n",
      "[152]\tvalidation_0-logloss:0.27878\n",
      "[153]\tvalidation_0-logloss:0.278315\n",
      "[154]\tvalidation_0-logloss:0.277512\n",
      "[155]\tvalidation_0-logloss:0.276625\n",
      "[156]\tvalidation_0-logloss:0.275785\n",
      "[157]\tvalidation_0-logloss:0.274899\n",
      "[158]\tvalidation_0-logloss:0.274013\n",
      "[159]\tvalidation_0-logloss:0.273599\n",
      "[160]\tvalidation_0-logloss:0.272836\n",
      "[161]\tvalidation_0-logloss:0.272149\n",
      "[162]\tvalidation_0-logloss:0.271614\n",
      "[163]\tvalidation_0-logloss:0.270702\n",
      "[164]\tvalidation_0-logloss:0.269868\n",
      "[165]\tvalidation_0-logloss:0.269073\n",
      "[166]\tvalidation_0-logloss:0.268214\n",
      "[167]\tvalidation_0-logloss:0.267625\n",
      "[168]\tvalidation_0-logloss:0.266986\n",
      "[169]\tvalidation_0-logloss:0.266241\n",
      "[170]\tvalidation_0-logloss:0.265565\n",
      "[171]\tvalidation_0-logloss:0.264819\n",
      "[172]\tvalidation_0-logloss:0.264013\n",
      "[173]\tvalidation_0-logloss:0.263389\n",
      "[174]\tvalidation_0-logloss:0.262856\n",
      "[175]\tvalidation_0-logloss:0.262415\n",
      "[176]\tvalidation_0-logloss:0.261947\n",
      "[177]\tvalidation_0-logloss:0.261238\n",
      "[178]\tvalidation_0-logloss:0.260477\n",
      "[179]\tvalidation_0-logloss:0.259933\n",
      "[180]\tvalidation_0-logloss:0.259219\n",
      "[181]\tvalidation_0-logloss:0.258381\n",
      "[182]\tvalidation_0-logloss:0.25759\n",
      "[183]\tvalidation_0-logloss:0.257016\n",
      "[184]\tvalidation_0-logloss:0.256292\n",
      "[185]\tvalidation_0-logloss:0.255564\n",
      "[186]\tvalidation_0-logloss:0.254966\n",
      "[187]\tvalidation_0-logloss:0.254394\n",
      "[188]\tvalidation_0-logloss:0.253939\n",
      "[189]\tvalidation_0-logloss:0.253461\n",
      "[190]\tvalidation_0-logloss:0.252876\n",
      "[191]\tvalidation_0-logloss:0.252237\n",
      "[192]\tvalidation_0-logloss:0.251554\n",
      "[193]\tvalidation_0-logloss:0.250784\n",
      "[194]\tvalidation_0-logloss:0.250376\n",
      "[195]\tvalidation_0-logloss:0.249527\n",
      "[196]\tvalidation_0-logloss:0.248911\n",
      "[197]\tvalidation_0-logloss:0.248452\n",
      "[198]\tvalidation_0-logloss:0.247964\n",
      "[199]\tvalidation_0-logloss:0.247369\n",
      "[200]\tvalidation_0-logloss:0.246812\n",
      "[201]\tvalidation_0-logloss:0.246216\n",
      "[202]\tvalidation_0-logloss:0.245926\n",
      "[203]\tvalidation_0-logloss:0.245381\n",
      "[204]\tvalidation_0-logloss:0.244908\n",
      "[205]\tvalidation_0-logloss:0.244706\n",
      "[206]\tvalidation_0-logloss:0.244175\n",
      "[207]\tvalidation_0-logloss:0.243711\n",
      "[208]\tvalidation_0-logloss:0.243002\n",
      "[209]\tvalidation_0-logloss:0.242278\n",
      "[210]\tvalidation_0-logloss:0.241893\n",
      "[211]\tvalidation_0-logloss:0.241358\n",
      "[212]\tvalidation_0-logloss:0.24078\n",
      "[213]\tvalidation_0-logloss:0.240281\n",
      "[214]\tvalidation_0-logloss:0.239934\n",
      "[215]\tvalidation_0-logloss:0.239259\n",
      "[216]\tvalidation_0-logloss:0.238902\n",
      "[217]\tvalidation_0-logloss:0.23861\n",
      "[218]\tvalidation_0-logloss:0.238006\n",
      "[219]\tvalidation_0-logloss:0.23763\n",
      "[220]\tvalidation_0-logloss:0.237081\n",
      "[221]\tvalidation_0-logloss:0.236504\n",
      "[222]\tvalidation_0-logloss:0.23607\n",
      "[223]\tvalidation_0-logloss:0.235994\n",
      "[224]\tvalidation_0-logloss:0.235456\n",
      "[225]\tvalidation_0-logloss:0.23501\n",
      "[226]\tvalidation_0-logloss:0.234528\n",
      "[227]\tvalidation_0-logloss:0.234194\n",
      "[228]\tvalidation_0-logloss:0.233777\n",
      "[229]\tvalidation_0-logloss:0.233345\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[230]\tvalidation_0-logloss:0.232794\n",
      "[231]\tvalidation_0-logloss:0.23265\n",
      "[232]\tvalidation_0-logloss:0.232392\n",
      "[233]\tvalidation_0-logloss:0.231759\n",
      "[234]\tvalidation_0-logloss:0.231323\n",
      "[235]\tvalidation_0-logloss:0.231205\n",
      "[236]\tvalidation_0-logloss:0.230806\n",
      "[237]\tvalidation_0-logloss:0.230385\n",
      "[238]\tvalidation_0-logloss:0.229649\n",
      "[239]\tvalidation_0-logloss:0.229294\n",
      "[240]\tvalidation_0-logloss:0.229053\n",
      "[241]\tvalidation_0-logloss:0.228945\n",
      "[242]\tvalidation_0-logloss:0.228487\n",
      "[243]\tvalidation_0-logloss:0.228236\n",
      "[244]\tvalidation_0-logloss:0.227905\n",
      "[245]\tvalidation_0-logloss:0.227676\n",
      "[246]\tvalidation_0-logloss:0.227609\n",
      "[247]\tvalidation_0-logloss:0.227438\n",
      "[248]\tvalidation_0-logloss:0.226701\n",
      "[249]\tvalidation_0-logloss:0.226428\n",
      "[250]\tvalidation_0-logloss:0.226145\n",
      "[251]\tvalidation_0-logloss:0.225863\n",
      "[252]\tvalidation_0-logloss:0.225631\n",
      "[253]\tvalidation_0-logloss:0.22518\n",
      "[254]\tvalidation_0-logloss:0.224852\n",
      "[255]\tvalidation_0-logloss:0.224537\n",
      "[256]\tvalidation_0-logloss:0.224326\n",
      "[257]\tvalidation_0-logloss:0.224005\n",
      "[258]\tvalidation_0-logloss:0.22377\n",
      "[259]\tvalidation_0-logloss:0.223716\n",
      "[260]\tvalidation_0-logloss:0.22352\n",
      "[261]\tvalidation_0-logloss:0.223404\n",
      "[262]\tvalidation_0-logloss:0.223134\n",
      "[263]\tvalidation_0-logloss:0.222559\n",
      "[264]\tvalidation_0-logloss:0.222525\n",
      "[265]\tvalidation_0-logloss:0.222264\n",
      "[266]\tvalidation_0-logloss:0.221878\n",
      "[267]\tvalidation_0-logloss:0.221824\n",
      "[268]\tvalidation_0-logloss:0.221535\n",
      "[269]\tvalidation_0-logloss:0.221252\n",
      "[270]\tvalidation_0-logloss:0.221304\n",
      "[271]\tvalidation_0-logloss:0.220933\n",
      "[272]\tvalidation_0-logloss:0.220793\n",
      "[273]\tvalidation_0-logloss:0.220483\n",
      "[274]\tvalidation_0-logloss:0.220361\n",
      "[275]\tvalidation_0-logloss:0.220138\n",
      "[276]\tvalidation_0-logloss:0.219672\n",
      "[277]\tvalidation_0-logloss:0.21942\n",
      "[278]\tvalidation_0-logloss:0.219335\n",
      "[279]\tvalidation_0-logloss:0.219062\n",
      "[280]\tvalidation_0-logloss:0.218897\n",
      "[281]\tvalidation_0-logloss:0.218496\n",
      "[282]\tvalidation_0-logloss:0.218411\n",
      "[283]\tvalidation_0-logloss:0.218084\n",
      "[284]\tvalidation_0-logloss:0.217974\n",
      "[285]\tvalidation_0-logloss:0.217639\n",
      "[286]\tvalidation_0-logloss:0.217632\n",
      "[287]\tvalidation_0-logloss:0.217221\n",
      "[288]\tvalidation_0-logloss:0.216899\n",
      "[289]\tvalidation_0-logloss:0.216387\n",
      "[290]\tvalidation_0-logloss:0.215918\n",
      "[291]\tvalidation_0-logloss:0.215864\n",
      "[292]\tvalidation_0-logloss:0.215432\n",
      "[293]\tvalidation_0-logloss:0.21532\n",
      "[294]\tvalidation_0-logloss:0.215194\n",
      "[295]\tvalidation_0-logloss:0.215114\n",
      "[296]\tvalidation_0-logloss:0.214963\n",
      "[297]\tvalidation_0-logloss:0.214631\n",
      "[298]\tvalidation_0-logloss:0.214655\n",
      "[299]\tvalidation_0-logloss:0.214583\n",
      "[300]\tvalidation_0-logloss:0.214587\n",
      "[301]\tvalidation_0-logloss:0.214443\n",
      "[302]\tvalidation_0-logloss:0.2143\n",
      "[303]\tvalidation_0-logloss:0.214126\n",
      "[304]\tvalidation_0-logloss:0.213689\n",
      "[305]\tvalidation_0-logloss:0.213459\n",
      "[306]\tvalidation_0-logloss:0.213353\n",
      "[307]\tvalidation_0-logloss:0.213268\n",
      "[308]\tvalidation_0-logloss:0.212965\n",
      "[309]\tvalidation_0-logloss:0.212966\n",
      "[310]\tvalidation_0-logloss:0.21284\n",
      "[311]\tvalidation_0-logloss:0.212504\n",
      "[312]\tvalidation_0-logloss:0.212476\n",
      "[313]\tvalidation_0-logloss:0.212322\n",
      "[314]\tvalidation_0-logloss:0.212035\n",
      "[315]\tvalidation_0-logloss:0.211902\n",
      "[316]\tvalidation_0-logloss:0.211506\n",
      "[317]\tvalidation_0-logloss:0.211747\n",
      "[318]\tvalidation_0-logloss:0.211867\n",
      "[319]\tvalidation_0-logloss:0.211648\n",
      "[320]\tvalidation_0-logloss:0.211431\n",
      "[321]\tvalidation_0-logloss:0.211142\n",
      "[322]\tvalidation_0-logloss:0.210863\n",
      "[323]\tvalidation_0-logloss:0.211205\n",
      "[324]\tvalidation_0-logloss:0.211199\n",
      "[325]\tvalidation_0-logloss:0.211189\n",
      "[326]\tvalidation_0-logloss:0.211103\n",
      "[327]\tvalidation_0-logloss:0.210988\n",
      "[328]\tvalidation_0-logloss:0.210701\n",
      "[329]\tvalidation_0-logloss:0.210797\n",
      "[330]\tvalidation_0-logloss:0.210886\n",
      "[331]\tvalidation_0-logloss:0.210835\n",
      "[332]\tvalidation_0-logloss:0.210616\n",
      "[333]\tvalidation_0-logloss:0.210572\n",
      "[334]\tvalidation_0-logloss:0.210576\n",
      "[335]\tvalidation_0-logloss:0.210574\n",
      "[336]\tvalidation_0-logloss:0.210356\n",
      "[337]\tvalidation_0-logloss:0.210505\n",
      "[338]\tvalidation_0-logloss:0.210533\n",
      "[339]\tvalidation_0-logloss:0.210231\n",
      "[340]\tvalidation_0-logloss:0.210142\n",
      "[341]\tvalidation_0-logloss:0.210053\n",
      "[342]\tvalidation_0-logloss:0.210119\n",
      "[343]\tvalidation_0-logloss:0.21034\n",
      "[344]\tvalidation_0-logloss:0.210064\n",
      "[345]\tvalidation_0-logloss:0.209932\n",
      "[346]\tvalidation_0-logloss:0.210003\n",
      "[347]\tvalidation_0-logloss:0.209797\n",
      "[348]\tvalidation_0-logloss:0.209598\n",
      "[349]\tvalidation_0-logloss:0.209566\n",
      "[350]\tvalidation_0-logloss:0.209359\n",
      "[351]\tvalidation_0-logloss:0.209296\n",
      "[352]\tvalidation_0-logloss:0.20923\n",
      "[353]\tvalidation_0-logloss:0.208919\n",
      "[354]\tvalidation_0-logloss:0.208742\n",
      "[355]\tvalidation_0-logloss:0.208495\n",
      "[356]\tvalidation_0-logloss:0.20874\n",
      "[357]\tvalidation_0-logloss:0.208611\n",
      "[358]\tvalidation_0-logloss:0.20846\n",
      "[359]\tvalidation_0-logloss:0.208217\n",
      "[360]\tvalidation_0-logloss:0.20804\n",
      "[361]\tvalidation_0-logloss:0.207847\n",
      "[362]\tvalidation_0-logloss:0.207672\n",
      "[363]\tvalidation_0-logloss:0.20758\n",
      "[364]\tvalidation_0-logloss:0.207462\n",
      "[365]\tvalidation_0-logloss:0.207599\n",
      "[366]\tvalidation_0-logloss:0.207309\n",
      "[367]\tvalidation_0-logloss:0.206992\n",
      "[368]\tvalidation_0-logloss:0.207167\n",
      "[369]\tvalidation_0-logloss:0.207371\n",
      "[370]\tvalidation_0-logloss:0.207285\n",
      "[371]\tvalidation_0-logloss:0.207294\n",
      "[372]\tvalidation_0-logloss:0.207089\n",
      "[373]\tvalidation_0-logloss:0.207286\n",
      "[374]\tvalidation_0-logloss:0.206987\n",
      "[375]\tvalidation_0-logloss:0.207348\n",
      "[376]\tvalidation_0-logloss:0.207011\n",
      "[377]\tvalidation_0-logloss:0.206981\n",
      "[378]\tvalidation_0-logloss:0.206791\n",
      "[379]\tvalidation_0-logloss:0.206508\n",
      "[380]\tvalidation_0-logloss:0.206649\n",
      "[381]\tvalidation_0-logloss:0.206614\n",
      "[382]\tvalidation_0-logloss:0.206719\n",
      "[383]\tvalidation_0-logloss:0.206468\n",
      "[384]\tvalidation_0-logloss:0.206771\n",
      "[385]\tvalidation_0-logloss:0.206431\n",
      "[386]\tvalidation_0-logloss:0.206429\n",
      "[387]\tvalidation_0-logloss:0.20644\n",
      "[388]\tvalidation_0-logloss:0.206338\n",
      "[389]\tvalidation_0-logloss:0.206154\n",
      "[390]\tvalidation_0-logloss:0.205868\n",
      "[391]\tvalidation_0-logloss:0.205921\n",
      "[392]\tvalidation_0-logloss:0.206114\n",
      "[393]\tvalidation_0-logloss:0.20584\n",
      "[394]\tvalidation_0-logloss:0.206038\n",
      "[395]\tvalidation_0-logloss:0.205854\n",
      "[396]\tvalidation_0-logloss:0.205978\n",
      "[397]\tvalidation_0-logloss:0.20573\n",
      "[398]\tvalidation_0-logloss:0.205412\n",
      "[399]\tvalidation_0-logloss:0.205296\n",
      "[400]\tvalidation_0-logloss:0.204992\n",
      "[401]\tvalidation_0-logloss:0.204815\n",
      "[402]\tvalidation_0-logloss:0.204772\n",
      "[403]\tvalidation_0-logloss:0.204917\n",
      "[404]\tvalidation_0-logloss:0.204807\n",
      "[405]\tvalidation_0-logloss:0.204792\n",
      "[406]\tvalidation_0-logloss:0.204813\n",
      "[407]\tvalidation_0-logloss:0.204834\n",
      "[408]\tvalidation_0-logloss:0.204645\n",
      "[409]\tvalidation_0-logloss:0.204826\n",
      "[410]\tvalidation_0-logloss:0.204631\n",
      "[411]\tvalidation_0-logloss:0.204442\n",
      "[412]\tvalidation_0-logloss:0.204514\n",
      "[413]\tvalidation_0-logloss:0.204335\n",
      "[414]\tvalidation_0-logloss:0.204174\n",
      "[415]\tvalidation_0-logloss:0.203898\n",
      "[416]\tvalidation_0-logloss:0.203951\n",
      "[417]\tvalidation_0-logloss:0.203688\n",
      "[418]\tvalidation_0-logloss:0.203533\n",
      "[419]\tvalidation_0-logloss:0.20346\n",
      "[420]\tvalidation_0-logloss:0.203345\n",
      "[421]\tvalidation_0-logloss:0.20338\n",
      "[422]\tvalidation_0-logloss:0.203076\n",
      "[423]\tvalidation_0-logloss:0.203029\n",
      "[424]\tvalidation_0-logloss:0.202687\n",
      "[425]\tvalidation_0-logloss:0.202508\n",
      "[426]\tvalidation_0-logloss:0.202647\n",
      "[427]\tvalidation_0-logloss:0.202742\n",
      "[428]\tvalidation_0-logloss:0.202516\n",
      "[429]\tvalidation_0-logloss:0.202256\n",
      "[430]\tvalidation_0-logloss:0.202049\n",
      "[431]\tvalidation_0-logloss:0.20218\n",
      "[432]\tvalidation_0-logloss:0.201953\n",
      "[433]\tvalidation_0-logloss:0.20179\n",
      "[434]\tvalidation_0-logloss:0.201568\n",
      "[435]\tvalidation_0-logloss:0.201295\n",
      "[436]\tvalidation_0-logloss:0.200949\n",
      "[437]\tvalidation_0-logloss:0.201155\n",
      "[438]\tvalidation_0-logloss:0.201173\n",
      "[439]\tvalidation_0-logloss:0.201339\n",
      "[440]\tvalidation_0-logloss:0.201095\n",
      "[441]\tvalidation_0-logloss:0.200952\n",
      "[442]\tvalidation_0-logloss:0.200921\n",
      "[443]\tvalidation_0-logloss:0.201015\n",
      "[444]\tvalidation_0-logloss:0.201098\n",
      "[445]\tvalidation_0-logloss:0.201017\n",
      "[446]\tvalidation_0-logloss:0.200819\n",
      "[447]\tvalidation_0-logloss:0.200642\n",
      "[448]\tvalidation_0-logloss:0.200674\n",
      "[449]\tvalidation_0-logloss:0.200557\n",
      "[450]\tvalidation_0-logloss:0.200392\n",
      "[451]\tvalidation_0-logloss:0.200157\n",
      "[452]\tvalidation_0-logloss:0.199991\n",
      "[453]\tvalidation_0-logloss:0.20009\n",
      "[454]\tvalidation_0-logloss:0.200098\n",
      "[455]\tvalidation_0-logloss:0.199977\n",
      "[456]\tvalidation_0-logloss:0.199811\n",
      "[457]\tvalidation_0-logloss:0.199808\n",
      "[458]\tvalidation_0-logloss:0.199743\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[459]\tvalidation_0-logloss:0.199499\n",
      "[460]\tvalidation_0-logloss:0.19948\n",
      "[461]\tvalidation_0-logloss:0.19952\n",
      "[462]\tvalidation_0-logloss:0.199754\n",
      "[463]\tvalidation_0-logloss:0.199681\n",
      "[464]\tvalidation_0-logloss:0.19991\n",
      "[465]\tvalidation_0-logloss:0.199818\n",
      "[466]\tvalidation_0-logloss:0.199969\n",
      "[467]\tvalidation_0-logloss:0.199967\n",
      "[468]\tvalidation_0-logloss:0.199805\n",
      "[469]\tvalidation_0-logloss:0.199978\n",
      "[470]\tvalidation_0-logloss:0.199662\n",
      "[471]\tvalidation_0-logloss:0.199387\n",
      "[472]\tvalidation_0-logloss:0.199239\n",
      "[473]\tvalidation_0-logloss:0.199313\n",
      "[474]\tvalidation_0-logloss:0.199194\n",
      "[475]\tvalidation_0-logloss:0.198906\n",
      "[476]\tvalidation_0-logloss:0.199048\n",
      "[477]\tvalidation_0-logloss:0.199135\n",
      "[478]\tvalidation_0-logloss:0.199269\n",
      "[479]\tvalidation_0-logloss:0.199215\n",
      "[480]\tvalidation_0-logloss:0.19936\n",
      "[481]\tvalidation_0-logloss:0.199517\n",
      "[482]\tvalidation_0-logloss:0.199336\n",
      "[483]\tvalidation_0-logloss:0.199295\n",
      "[484]\tvalidation_0-logloss:0.19921\n",
      "[485]\tvalidation_0-logloss:0.199335\n",
      "[486]\tvalidation_0-logloss:0.199395\n",
      "[487]\tvalidation_0-logloss:0.199199\n",
      "[488]\tvalidation_0-logloss:0.199317\n",
      "[489]\tvalidation_0-logloss:0.199537\n",
      "[490]\tvalidation_0-logloss:0.199611\n",
      "[491]\tvalidation_0-logloss:0.199462\n",
      "[492]\tvalidation_0-logloss:0.199338\n",
      "[493]\tvalidation_0-logloss:0.199376\n",
      "[494]\tvalidation_0-logloss:0.199352\n",
      "[495]\tvalidation_0-logloss:0.199296\n",
      "[496]\tvalidation_0-logloss:0.199258\n",
      "[497]\tvalidation_0-logloss:0.199159\n",
      "[498]\tvalidation_0-logloss:0.199251\n",
      "[499]\tvalidation_0-logloss:0.199334\n",
      "[500]\tvalidation_0-logloss:0.199345\n",
      "[501]\tvalidation_0-logloss:0.199306\n",
      "[502]\tvalidation_0-logloss:0.199202\n",
      "[503]\tvalidation_0-logloss:0.199115\n",
      "[504]\tvalidation_0-logloss:0.199153\n",
      "[505]\tvalidation_0-logloss:0.199143\n",
      "[506]\tvalidation_0-logloss:0.199219\n",
      "[507]\tvalidation_0-logloss:0.199214\n",
      "[508]\tvalidation_0-logloss:0.199449\n",
      "[509]\tvalidation_0-logloss:0.199663\n",
      "[510]\tvalidation_0-logloss:0.199457\n",
      "[511]\tvalidation_0-logloss:0.199117\n",
      "[512]\tvalidation_0-logloss:0.199234\n",
      "[513]\tvalidation_0-logloss:0.199039\n",
      "[514]\tvalidation_0-logloss:0.198908\n",
      "[515]\tvalidation_0-logloss:0.199087\n",
      "[516]\tvalidation_0-logloss:0.199282\n",
      "[517]\tvalidation_0-logloss:0.19912\n",
      "[518]\tvalidation_0-logloss:0.198872\n",
      "[519]\tvalidation_0-logloss:0.198805\n",
      "[520]\tvalidation_0-logloss:0.198814\n",
      "[521]\tvalidation_0-logloss:0.198911\n",
      "[522]\tvalidation_0-logloss:0.198825\n",
      "[523]\tvalidation_0-logloss:0.198833\n",
      "[524]\tvalidation_0-logloss:0.198805\n",
      "[525]\tvalidation_0-logloss:0.198862\n",
      "[526]\tvalidation_0-logloss:0.198701\n",
      "[527]\tvalidation_0-logloss:0.198554\n",
      "[528]\tvalidation_0-logloss:0.19853\n",
      "[529]\tvalidation_0-logloss:0.19841\n",
      "[530]\tvalidation_0-logloss:0.198452\n",
      "[531]\tvalidation_0-logloss:0.198401\n",
      "[532]\tvalidation_0-logloss:0.198339\n",
      "[533]\tvalidation_0-logloss:0.198212\n",
      "[534]\tvalidation_0-logloss:0.19833\n",
      "[535]\tvalidation_0-logloss:0.198284\n",
      "[536]\tvalidation_0-logloss:0.198072\n",
      "[537]\tvalidation_0-logloss:0.198086\n",
      "[538]\tvalidation_0-logloss:0.198037\n",
      "[539]\tvalidation_0-logloss:0.198045\n",
      "[540]\tvalidation_0-logloss:0.198178\n",
      "[541]\tvalidation_0-logloss:0.198129\n",
      "[542]\tvalidation_0-logloss:0.197783\n",
      "[543]\tvalidation_0-logloss:0.197679\n",
      "[544]\tvalidation_0-logloss:0.197204\n",
      "[545]\tvalidation_0-logloss:0.197445\n",
      "[546]\tvalidation_0-logloss:0.197284\n",
      "[547]\tvalidation_0-logloss:0.197169\n",
      "[548]\tvalidation_0-logloss:0.197127\n",
      "[549]\tvalidation_0-logloss:0.197109\n",
      "[550]\tvalidation_0-logloss:0.197303\n",
      "[551]\tvalidation_0-logloss:0.197288\n",
      "[552]\tvalidation_0-logloss:0.197449\n",
      "[553]\tvalidation_0-logloss:0.1975\n",
      "[554]\tvalidation_0-logloss:0.197472\n",
      "[555]\tvalidation_0-logloss:0.19719\n",
      "[556]\tvalidation_0-logloss:0.197201\n",
      "[557]\tvalidation_0-logloss:0.197086\n",
      "[558]\tvalidation_0-logloss:0.197146\n",
      "[559]\tvalidation_0-logloss:0.197125\n",
      "[560]\tvalidation_0-logloss:0.197161\n",
      "[561]\tvalidation_0-logloss:0.19705\n",
      "[562]\tvalidation_0-logloss:0.197084\n",
      "[563]\tvalidation_0-logloss:0.197099\n",
      "[564]\tvalidation_0-logloss:0.19722\n",
      "[565]\tvalidation_0-logloss:0.19726\n",
      "[566]\tvalidation_0-logloss:0.197285\n",
      "[567]\tvalidation_0-logloss:0.197365\n",
      "[568]\tvalidation_0-logloss:0.197215\n",
      "[569]\tvalidation_0-logloss:0.197207\n",
      "[570]\tvalidation_0-logloss:0.19739\n",
      "[571]\tvalidation_0-logloss:0.197351\n",
      "[572]\tvalidation_0-logloss:0.197298\n",
      "[573]\tvalidation_0-logloss:0.197374\n",
      "[574]\tvalidation_0-logloss:0.197291\n",
      "[575]\tvalidation_0-logloss:0.197309\n",
      "[576]\tvalidation_0-logloss:0.197362\n",
      "[577]\tvalidation_0-logloss:0.197344\n",
      "[578]\tvalidation_0-logloss:0.197264\n",
      "[579]\tvalidation_0-logloss:0.197231\n",
      "[580]\tvalidation_0-logloss:0.197188\n",
      "[581]\tvalidation_0-logloss:0.19701\n",
      "[582]\tvalidation_0-logloss:0.197029\n",
      "[583]\tvalidation_0-logloss:0.197206\n",
      "[584]\tvalidation_0-logloss:0.197127\n",
      "[585]\tvalidation_0-logloss:0.197192\n",
      "[586]\tvalidation_0-logloss:0.197297\n",
      "[587]\tvalidation_0-logloss:0.197472\n",
      "[588]\tvalidation_0-logloss:0.197543\n",
      "[589]\tvalidation_0-logloss:0.197719\n",
      "[590]\tvalidation_0-logloss:0.197623\n",
      "[591]\tvalidation_0-logloss:0.197612\n",
      "[592]\tvalidation_0-logloss:0.19754\n",
      "[593]\tvalidation_0-logloss:0.197505\n",
      "[594]\tvalidation_0-logloss:0.197429\n",
      "[595]\tvalidation_0-logloss:0.197576\n",
      "[596]\tvalidation_0-logloss:0.197496\n",
      "[597]\tvalidation_0-logloss:0.197457\n",
      "[598]\tvalidation_0-logloss:0.197296\n",
      "[599]\tvalidation_0-logloss:0.197132\n",
      "[600]\tvalidation_0-logloss:0.197022\n",
      "[601]\tvalidation_0-logloss:0.196941\n",
      "[602]\tvalidation_0-logloss:0.196883\n",
      "[603]\tvalidation_0-logloss:0.196652\n",
      "[604]\tvalidation_0-logloss:0.196804\n",
      "[605]\tvalidation_0-logloss:0.196774\n",
      "[606]\tvalidation_0-logloss:0.196716\n",
      "[607]\tvalidation_0-logloss:0.196738\n",
      "[608]\tvalidation_0-logloss:0.196786\n",
      "[609]\tvalidation_0-logloss:0.196686\n",
      "[610]\tvalidation_0-logloss:0.196873\n",
      "[611]\tvalidation_0-logloss:0.197083\n",
      "[612]\tvalidation_0-logloss:0.197142\n",
      "[613]\tvalidation_0-logloss:0.197186\n",
      "[614]\tvalidation_0-logloss:0.197156\n",
      "[615]\tvalidation_0-logloss:0.196987\n",
      "[616]\tvalidation_0-logloss:0.197274\n",
      "[617]\tvalidation_0-logloss:0.197047\n",
      "[618]\tvalidation_0-logloss:0.196864\n",
      "[619]\tvalidation_0-logloss:0.196857\n",
      "[620]\tvalidation_0-logloss:0.197113\n",
      "[621]\tvalidation_0-logloss:0.197061\n",
      "[622]\tvalidation_0-logloss:0.197101\n",
      "[623]\tvalidation_0-logloss:0.197159\n",
      "[624]\tvalidation_0-logloss:0.197328\n",
      "[625]\tvalidation_0-logloss:0.197388\n",
      "[626]\tvalidation_0-logloss:0.197366\n",
      "[627]\tvalidation_0-logloss:0.197251\n",
      "[628]\tvalidation_0-logloss:0.197452\n",
      "[629]\tvalidation_0-logloss:0.197374\n",
      "[630]\tvalidation_0-logloss:0.197349\n",
      "[631]\tvalidation_0-logloss:0.197425\n",
      "[632]\tvalidation_0-logloss:0.19732\n",
      "[633]\tvalidation_0-logloss:0.197367\n",
      "[634]\tvalidation_0-logloss:0.197345\n",
      "[635]\tvalidation_0-logloss:0.197675\n",
      "[636]\tvalidation_0-logloss:0.197791\n",
      "[637]\tvalidation_0-logloss:0.197973\n",
      "[638]\tvalidation_0-logloss:0.198174\n",
      "[639]\tvalidation_0-logloss:0.197914\n",
      "[640]\tvalidation_0-logloss:0.198033\n",
      "[641]\tvalidation_0-logloss:0.198114\n",
      "[642]\tvalidation_0-logloss:0.198113\n",
      "[643]\tvalidation_0-logloss:0.198004\n",
      "[644]\tvalidation_0-logloss:0.197824\n",
      "[645]\tvalidation_0-logloss:0.19783\n",
      "[646]\tvalidation_0-logloss:0.197795\n",
      "[647]\tvalidation_0-logloss:0.197788\n",
      "[648]\tvalidation_0-logloss:0.197602\n",
      "[649]\tvalidation_0-logloss:0.197635\n",
      "[650]\tvalidation_0-logloss:0.197598\n",
      "[651]\tvalidation_0-logloss:0.197684\n",
      "[652]\tvalidation_0-logloss:0.197736\n",
      "[653]\tvalidation_0-logloss:0.19785\n",
      "Stopping. Best iteration:\n",
      "[603]\tvalidation_0-logloss:0.196652\n",
      "\n",
      "CPU times: user 22.3 s, sys: 79.5 ms, total: 22.3 s\n",
      "Wall time: 22.1 s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "XGBClassifier(colsample_bytree=0.7, learning_rate=0.01, max_delta_step=3,\n",
       "              max_depth=8, min_child_weight=0, n_estimators=818, reg_lambda=2,\n",
       "              scale_pos_weight=5, silent=True, subsample=0.5)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from xgboost import XGBClassifier\n",
    "\n",
    "model = XGBClassifier(silent=True,\n",
    "                      booster = 'gbtree',\n",
    "                      scale_pos_weight=5,\n",
    "                      learning_rate=0.01,  \n",
    "                      colsample_bytree = 0.7,\n",
    "                      subsample = 0.5,\n",
    "                      max_delta_step = 3,\n",
    "                      reg_lambda = 2,\n",
    "                     objective='binary:logistic',\n",
    "                      \n",
    "                      n_estimators=818, \n",
    "                      max_depth=8,\n",
    "                     )\n",
    "\n",
    "eval_set = [(X_test, y_test)]\n",
    "eval_metric = [\"logloss\"]\n",
    "%time model.fit(X_train, y_train,early_stopping_rounds=50, eval_metric=eval_metric, eval_set=eval_set)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Model Evaluation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "predictions = model.predict_proba(X_test)[:,-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9367207715831569"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "roc_auc_score(y_test, predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So we are getting an auc score of 0.93!!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Feature Importance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABF8AAAJiCAYAAAAR7m0tAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzde1hVZf7//+fmrEIEGkmamZTbHKQh1KQMCcsBM0Ely/mMfjxrju6ySPIwAk7DVJLOoCJRnhpp7JMaKplOakqHAW1LmkZZHmiwxByEAdTNaf/+8Mf+xiiekpP79bgurmuv+173Wu+133Ylb+/7Xgar1WpFREREREREREQahENTByAiIiIiIiIiciNT8UVEREREREREpAGp+CIiIiIiIiIi0oBUfBERERERERERaUAqvoiIiIiIiIiINCAVX0REREREREREGpCKLyIiIiINYO7cuSxZsqSpwxAREZFmwGC1Wq1NHYSIiIhIrbCwME6dOoWjo6OtbcuWLdx6663XfM2cnBxeeOEFsrKyrkeILc6LL77IrbfeyvTp05s6FBEREbvk1NQBiIiIiPy31NRUHnjggaYOw6aqqgonp5b516bq6uqmDkFERMTuadmRiIiItBhffPEFTz31FD179mTw4MHk5OTY+tatW0dERASBgYH079+fNWvWAHDmzBkmTJjAyZMnCQwMJDAwkMLCQl588UUWLlxoG5+Tk0NISIjtOCwsjLS0NB5//HF+/etfU1VVRWFhIdOmTaNPnz6EhYXx1ltv1Rvrz69fe+033niD4OBg+vbty7Zt29i1axe/+c1v6N27N6mpqbaxixYtwmQy8eyzzxIYGMiQIUP4+uuvbf2HDx9m5MiR9OzZk8cee4zt27fXuW9cXBwTJkzg17/+NWvXrmXTpk0sW7aMwMBAJk+eDEBaWhqPPPIIgYGBDBw4kA8//NB2jfXr1zNixAheeeUVevXqRVhYGLt27bL1FxcXM3PmTPr27UuvXr2YMmWKre+jjz4iMjKSnj178tRTT9WJW0RExF6p+CIiIiItQmFhIZMmTeLpp59m9+7dxMbGYjKZKCoqAqBt27a8/vrr7N27lz//+c/8+c9/5uDBg7Ru3Zo33ngDHx8fcnNzyc3NveIlTO+//z5paWl8/vnnODg48PTTT2M0GsnKymLVqlWsWrWKjz/++IquderUKSwWC1lZWZhMJubMmcPGjRtZt24d6enppKSk8K9//ct2/vbt2wkPD2f37t0MGjSIKVOmUFlZSWVlJZMnT+bBBx/ks88+Y86cOcTExHDkyBHb2MzMTCZPnszevXuJiori8ccfZ9y4ceTm5tqKPLfffjvp6emYzWamTp3KCy+8wMmTJ23X2L9/P3feeSfZ2dmMHz+e2bNnU7tafcaMGZw9e5b333+fzz77jNGjRwPw1VdfMWvWLObNm0dOTg5PPvkkU6ZMoaKi4oq+IxERkRuVii8iIiLS7Pz+97+nZ8+e9OzZ0zarYsOGDYSEhNCvXz8cHBx48MEH8ff3t83ICA0NpVOnThgMBnr37s2DDz7I559//oviGDlyJL6+vri5ufHll19SVFTE1KlTcXFx4fbbb2f48OFs3rz5iq7l5OTE008/jbOzMwMHDuT06dOMGjUKd3d37r77bu666y6++eYb2/m/+tWvCA8Px9nZmTFjxlBRUcG+ffvYt28fZ86cYeLEibi4uBAcHMzDDz/M+++/bxvbv39/goKCcHBwwNXV9aLxREREcOutt+Lg4MDAgQO544472L9/v63/tttuY/jw4Tg6OjJkyBB++uknTp06xcmTJ8nKyiIhIQFPT0+cnZ3p3bs3AO+88w5PPvkk9957r22cs7MzX3zxxbV8/SIiIjeMlrl4WURERG5oS5YsuWDPlx9++IEtW7bw0Ucf2dqqqqq4//77Adi1axdLlizh2LFj1NTUcO7cObp27fqL4vD19bV9Pn78OCdPnqRnz562turq6jrHl3LzzTfbNhF2c3MDzs/WqeXq6kp5ebntuH379rbPDg4O3HrrrbaZKe3bt8fB4f/9G9ptt91GYWHhReOuT0ZGBitWrOD48ePA+eVZp0+ftvW3a9fO9rlVq1a2c0pKSvD09MTT0/OCa/7www9kZGSwevVqW1tlZWWdGTUiIiL2SMUXERERaRF8fX2JjIzkpZdeuqCvoqICk8nEK6+8Qv/+/XF2dmbKlCm2ZTIGg+GCMa1ateLcuXO241OnTl1wzs/H+fr60rFjR/7xj39cj8e5rBMnTtg+19TUUFhYiI+Pj62vpqbGVoD58ccf6dy5c73X+u/nP378OHPmzGHlypUEBgbi6OhIZGTkFcXVvn17SkpK+M9//sNNN91Up8/X15fJkyfz9NNPX9G1RERE7IWWHYmIiEiLMHjwYD766CM+/vhjqqursVgs5OTkcOLECSoqKqioqMDb2xsnJyd27drFp59+ahvbtm1biouLKS0ttbXdc8897Nq1i+LiYn766SdWrVp1yfsHBATQpk0b0tLSOHfuHNXV1Rw6dKjOUp3r6eDBg/zjH/+gqqqKVatW4eLiwr333ktAQABubm68+eabVFZWkpOTw44dOxg4cGC912rbti0FBQW247Nnz2IwGPD29gbOb1b87bffXlFcPj4+hISEkJCQQElJCZWVlezZsweAJ554gjVr1rBv3z6sVitnzpxh586dlJWV/YJvQkREpOVT8UVERERaBF9fX1JSUnj99dcJDg6mX79+LFu2jJqaGtzd3ZkzZw7PPvssvXr1IjMzk7CwMNtYPz8/HnvsMR555BF69uxJYWEhkZGRdOvWjbCwMMaOHXvJ4gWAo6MjqampfP311/Tv358+ffowZ86cBiss9O/fn82bN9OrVy82bNjAokWLcHZ2xsXFhdTUVLKysujTpw8JCQm8+uqr+Pn51Xut6OhovvvuO9seOnfddRdjx47lqaee4oEHHuDQoUPcd999Vxzbq6++ipOTExERETzwwAO2wlWPHj344x//yLx58+jVqxcDBgxg/fr1v/i7EBERaekM1tr5uCIiIiLSLCxatIj8/HySkpKaOhQRERG5DjTzRURERERERESkAan4IiIiIiIiIiLSgLTsSERERERERESkAWnmi4iIiIiIiIhIA3Jq6gDkytTU1FBeXo6zszMGg6GpwxERERERERGR/5/VaqWyspI2bdrg4HDhPBcVX1qI8vJyDh061NRhiIiIiIiIiEg9unbtioeHxwXtKr60EM7OzsD5RLq4uDRxNNIYDhw4gL+/f1OHIY1E+bYfyrV9Ub7ti/JtP5Rr+6J825drzXdFRQWHDh2y/e7+31R8aSFqlxq5uLjg6uraxNFIY1Gu7YvybT+Ua/uifNsX5dt+KNf2Rfm2L78k3/VtE6INd0VEREREREREGpCKLyIiIiIiIiIiDUjFFxERERERERGRBqTii4iIiIiIiIhIA1LxRURERERERESkAan4IiIiIiIiIiLSgAxWq9Xa1EHI5VksFtv7xvWaMxEREREREbkSFZXVuDg7NnUYLYbZbCYoKOiqx13ud3an6xGcNJ7xf/qQ4vLq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F7No0SJWrFjBAw88AMCLL75IZmYmzs7OAFRXV5Obm4uj4/nlHO+++y5paWmcOnWK++67j8TERG699dZGejoRaQk080VEREREROyCj48PU6ZMYdiwYRft//7779m6dSu33HLLBX3jxo0jNzeX3NxcVqxYYSu85OTksGDBAlJSUsjJyaFjx448//zzDfocItLytOjiy7Zt24iIiCAqKoojR45c9fi8vDw2b97cAJFd3NGjRxk5ciTh4eEMGjSImTNncu7cuUa7v4iIiIiIPRswYACPPPIIN99880X7ExISiImJwcXF5YqvuXPnTsLDw7n77rtxcXFhypQp7Nmzh++///56hS0iN4AWXXxZs2YNJpOJjIwMunTpctXj8/Ly2LJlyzXdu6qq6qrHODs7M3PmTLZs2cLGjRs5e/Ysy5Ytu6b7i4iIiIjI9fPBBx/g4uJCv379Ltr/97//nd69ezN06FB2795dp89qtV5w/qFDhxokThFpmVps8SUxMRGz2UxSUhIjR45k3759jBw5kqFDhzJ06FB27twJnC+SjBs3jqFDh/LYY48xc+ZMKioqOH36NMnJyXz22WdERkby0ksvUVBQwP3332+7x8+Paz+/8sorDBkyhHfffZeKigpeeeUVoqOjGTx4MC+88ALl5eX1xtyxY0e6d+8OgIODAwEBAfzwww8N9yWJiIiIiMhllZWVsXDhQmbPnn3R/pEjR7J161Y+++wznnnmGVJTU22vH37ooYf44IMP+Prrrzl37hxLlizBYDBohruI1NFiN9ydNWsWeXl5jB07lqCgIEaNGkVaWho+Pj6cPHmS6OhoMjMz8fDwICkpCS8vL6xWK7Gxsaxbt44RI0ZgMpnYuXMnycnJwPkCy6UUFxfTo0cPYmNjAUhJScHDw4O1a9cCMH/+fNLS0pg+ffpl4z937hzr1q3jueee+4XfhIiIiIiIXE5tsQTgxIkTFBUV2dpWr15Nr169KCwspLCwEIvFwqFDh3B1dbWNqd3mwN3dnQcffJDVq1cD4OrqSlRUFBMnTuTs2bNERETg5uZGSUlJnXtKy6Zc2peGyHeLLb78XG5uLgUFBUyYMMHWZjAYyM/Pp3v37ixfvpysrCxqamooKSnBzc3tmu7j6upKRESE7XjHjh2UlZWxdetWACoqKujWrdtlr1NVVcX06dPp06cP/fv3v6ZYRERE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9HSmT5/Opk2bAHjnnXfYtm0bGzZswGAwMGbMGDp27MiIESOa+IlERERERESuLy07EpFf5O6778bFxQUAg8GAwWDg+++/56abbqJjx44YDAasViuOjo58//33tnEZGRmMHTuW9u3bc+uttzJmzBjee++9pnoMERERERGRBtMsZr5s27aN1157DVdXVxYsWECXLl2uanxeXh5Hjx5l4MCBDRRhXTU1NYwYMYKzZ88CcMstt5CQkEDHjh0BMBqNdO3aFQeH87WtV199FaPRyN69e3n11Vf5z3/+A0C/fv2YMWOGlllIixcfH897773HuTeKY2AAACAASURBVHPn6N69O/369bP19ezZkzNnzlBTU4PJZLK1f/vtt3Tr1s123K1bN7799ttGjVtERERERKQxNIviy5o1azCZTERERFzT+Ly8PHbu3HlNxZeqqiqcnK7ua3BwcODNN9/Ew8MDgFWrVvHyyy+zePFi2zlr1qyhTZs2dca5u7vz8ssv07lzZyoqKvjf//1fNmzYQFRU1FXHLdKcxMfH84c//IHc3Fx2795tmwkD8Pnnn3PmzBnee+89OnToYGs/c+YM7u7utmMPDw/OnDmD1WpVQVJERERERG4oTV58SUxMxGw2c/ToUd5++21iYmJISkqivLwcAJPJRGhoKFVVVUyaNInTp09jsVgICAggISGB8vJykpOTKSsrIzIykl69ejF69GiGDRtGTk4OAAUFBbbj2s9Dhw4lOzub4cOHM2zYMBYuXMiePXuoqKjAaDQSHx9/QfHk52oLLwBlZWW2WS6X0rVrV9tnFxcXunfvzg8//HCtX51IkzObzXWODQYDBw4c4NVXXyU8PLxOX9euXZk8eTLz58/H09MTV1dXPv/8c4qLiwE4cuQIbm5u7N27t9Hib27++/uUG5dybV+Ub/uifNsP5dq+KN/2pSHy3eTFl1mzZpGXl8fYsWMJCgpi1KhRpKWl4ePjw8mTJ4mOjiYzMxMPDw+SkpLw8vLCarUSGxvLunXrGDFiBCaTiZ07d5KcnAycL7ZcSnFxMT169CA2NhaAlJQUPDw8bG9dmT9/PmlpaUyfPv2S15kwYQJfffUVXl5eLFu2rE7fyJEjqa6uJiQkhGnTptWZCQDw73//m61bt5KWlnZV35dIc3Kx12GvX78eq9V6QV9VVRWVlZW0b9+e7t27061bNwwG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iIjcxQxffFm5ciXHjh1r0GY2m8nIyGijiKQ9UeFFRERERERE7pThiy9r1qxp6xBEREREREREpANr9a8dibSVmlrtlSMiIiIiIiKtz/Bvvtxt5r30tjbcbab6zXN37NhBRkYGRUVFBAYGEh8f77zmypUrrFu3jr/+9a/YbDaGDBlCWloaAAUFBbzyyit88skneHh4kJub2ybPISIiIiIiIncXFV/EcLy8vFi0aBHvvPOO81Pm9V544QXq6ur461//ioeHB4WFhc6+7t27M2PGDAIDA3n11VdbO2wRERERERG5S7XasqODBw8SEBDA9OnTOX369G2PLywsZP/+/S0QWdOee+45xo4di7e3N9XV1Y1eEx0d3aD/yJEj/OIXv2DKlClMmTKFdevWUf8177q6Ol566SUCAwP52c9+1qBPWs+kSZN49NFH6dmzZ4P2U6dOkZuby4svvkivXr0wm80MGzbM2e/j48P06dPp379/a4csIiIiIiIid7FWK77s2rWLyMhIMjMzGTBgwG2PLyws5MCBA82a22azNWtcaGgoe/fubbI/NzcXk8nUoM3NzY34+Hj2799PZmYmH330kfMee/bs4fTp07z55pu89dZb/N///V+rF5SkaSdOnOC+++4jMTGR0aNHM23aNHJycto6LBEREREREbnLtUrxJS4uDovFwvr165k9ezbHjh1j9uzZhISEEBISQl5eHnCtSPL0008TEhLC1KlTiY6OpqamhkuXLpGYmMh7771HcHAwa9eupaSkhNGjRzvnuP68/njdunU89thj7N69m5qaGtatW0doaChBQUEsWbKkybdZ6vn5+dG7d+9G+y5dukRSUhLR0dEN2gcPHsz3v/99ALp06cLQoUP5/PPPAfj73/+On58fnTt3xsXFhUceeYR9+/Y15yeVFnD+/HmKiopwd3fnnXfe4YUXXmDZsmWcOnWqrUMTERERERGRu1ir7PmyfPlyCgsLCQsLw9fXlzlz5pCamoqXlxcXLlwgNDSU7Oxs3N3dWb9+PZ6enjgcDpYuXUp6ejozZ84kMjKSvLw8EhMTgWsFlpspLy9n+PDhLF26FIDk5GTc3d3Zs2cPAAkJCaSmphIVFdWsZ1qzZg2RkZG4u7s3ec2XX35JTk4OqampADzwwANkZGQwa9Ys4NpSrK+++qpZ80vzWCwW5/H58+cpKytztl28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mjWrJcISERERERERAe6i4ouHhwfJyckkJCQQFxdHbW0t/fv3Z8uWLUyfPp1Dhw4xefJkevfuja+vr/ONFj8/P7Zt20ZQUBCjRo0iJiaGFStWMHfuXHr16sWECRNuOu+CBQtISkoiNDQUk8mEyWQiPDz8psWX6OhoPv/8c2pra5kyZQpz5swB4PTp06xcuRKTyYTNZmPEiBE8++yz39hvJCIiIiIiIiLtj8lx/RocabfqN+8ZNmyYc9mM0dXU1tGls7mtw2gx2tjLWJRv41CujUX5Nhbl2ziUa2NRvo3lTjfcberf7J2+ieBE2kJHLryIiIiIiIhIx3HXLDtqb1auXMmxY8catJnNZjIyMtooIhERERERERFpj1R8aaY1a9a0dQiG1dGXG4mIiIiIiEjHouLLXWbeS29TXl3X1mG0qX0bggHYsWMHGRkZFBUVERgYSHx8PACffvopzz//POfOnQPggQceICYmhkGDBgGwfft23njjDS5dukT37t2ZMmUKzz//PC4u+usgIiIiIiIi3zzt+SJ3LS8vLxYtWsSMGTNuaE9MTOT999+noKAAf39/oqKinP3+/v68+eabHDlyhOzsbP7+97/zxhtvtHb4IiIiIiIiYhD6X/1y15o0aRIAJ06coLS01Nneo0cPevToAYDD4cBsNvPZZ585+7/73e86jx0OB506daK4uLiVohYRERERERGjaffFl4MHD7JhwwZcXV3ZuHEjAwYMuK3xhYWFnDlzhilTprRQhA2dOXOGlStXcvHiRVxcXBg+fDixsbF07dqVI0eO8PLLL/PVV18BMH78eJ5//nlMJlOrxGY0Dz/8MJcvX8ZutxMZGdmgb9++fcTGxlJdXY2npyfLli1royhFRERERESko2v3y4527dpFZGQkmZmZt114gWvFlwMHDjRrbpvNdttjOnfuTHR0NAcOHCArK4srV66wdetWANzc3IiPj2f//v1kZmby0UcfsXfv3mbFJl/vww8/5MMPP+SFF15g6NChDfqmTZvGkSNHyMnJ4Re/+AW9e/duoyhFRERERESko2vXb77ExcVhsVg4c+YMO3fuZPHixaxfv57q6moAIiMjmTBhAjabjWeeeYZLly5htVrx8fFh9erVVFdXk5iYSFVVFcHBwYwcOZKnnnqKGTNmcPjwYQBKSkqc5/XHISEhFBQU8MQTTzBjxgw2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4bS5d1+7sb2F7gZaW2osyrdxKNfGonwbi/JtHMq1sSjfxnKze74MHDgQDw+PRv3XnfmSnJyM3W5n9uzZvPrqq472hs8k9+nT54aDktZbt/jxJhN5t6u11uPu5tLeYYiIiIiIiIjcsOsWX4YNGwZAcXExnTp1uuUBtbWlS5dy6NAhpzYXFxd27tzZThFJU1R4ERERERERkTtVi/d86dSpEyUlJXzyySdUVFQ47QEzb968WxJcW0hMTGzvEERERERERETkLtbirx298847TJkyheLiYt58801KS0vZuHEj33zzza2MTwys1mq8vW1ERERERETk7tPimS/r1q1j3bp1DBkyhKFDh7J27Vo++OADdu3adSvjk7/wzCvvGWbD3YZNdrds2cLOnTspLS1l/Pjxji9EffbZZ7zxxht8/vnndOjQwfEVrIaNoYuLi1m7di1ffPEFXbp0cXwWXERERERERKQttXjmy4ULFxgyZMjVQR06YLPZGDlyJO+///4tC04EwNfXl7lz5xIREeHUfunSJSZNmkRBQQHvv/8+np6eJCQkOPrvueceIiIiePHFF9s6ZBERERERERGHFs98uf/++ykvL6dnz5707t2bffv24ePjg5ub200HsXfvXl577TU8PDxYs2bNDX9BqaSkhBMnTjB27NibjqUlbDYbU6ZM4fLlywDce++9rFixgp49ewLg7+9Pv3796NDham3r1Vdfxd/fH4DMzEzy8vJwdXXF09OTxMREHnzwwTaJ+041ZswYAI4cOcLZs2cd7SNHjnS6burUqUydOtVxHhAQQEBAAPv372+bQEVERERERESa0OLiyzPPPMOxY8fo2bMnc+fOZd68eVitVhYvXnzTQWzdupW4uDhCQkJaNb6kpITCwsJWFV/q6upwdW3xzwBcnfmzbt06vL29AXjrrbdYtWoVaWlpjmu2bt2Kp6dnozjfeecd/vCHP3DPPfewefNmXn31Vd58880bjlsaO3DggApZIiIiIiIicttpcdUhPDzccTxy5Eg+/vhjrFZrowLDjUpKSsJsNnPixAnefvttFixYQEpKCjU1NQDExcUxatQo6urqmDNnDhUVFVgsFgICAlixYgU1NTWkpqZSXV1NWFgYQ4cOZcaMGURERPDRRx8BUF5e7jhvOA4PD6e4uJhJkyYRERHB66+/zoEDB6itrcXf35/ly5df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F35+fvj5+TFkyBDg6kaxCxcu5OLFi3Tr1q3ZcXJtdXV11NfXY7PZqK+vx2Kx4OLiwoULF3j66af55S9/2eQmumFhYWzcuNGxMe/GjRudNuQVERERERERaQvtvuFug8GDB1NWVkZxcbGj7fDhw9jtdqqqqvDx8cHLy4uqqiry8/Md1zS0NejRowdWq5WysjIAp2ubMnr0aDZt2sSVK1cAqK6u5tixY9ccc/78eeBqYSc1NZWoqCgABg4cyD333OPY1PXAgQN06dIFHx+fa46Ta8vIyCAgIICsrCzy8vIICAggIyODbdu28e2335KWlsbgwYMd/xpMnjyZf/qnf2LChAlMmDCBkSNHMnny5HZ8ExERERERETGi22bmS5cuXUhPTyc5OZmkpCSsViu9evUiMzOTiRMnsm/fPoKDg+nevTuBgYGOGS1BQUFs2LCB0NBQhg0bxpIlS1i8eDEzZ86kW7dujBo16prPnT17NmlpaURGRmIymTCZTMTExNC3b99mxyQkJPDdd99htVoZO3Ys06dPB64uk0pKSnJsCNypUyfS0tIcM22aGyfXFhsbS2xsbJN9DZ/xborJZOLFF1902oRXREREREREpK2Z7Pr0yx2hYf3Yb3JPU1lT397htIl3Xwtr7xDaldaWGovybRzKtbEo38aifBuHcm0syrex3OyeLwMHDsTDw6NR/20z80VaZt3ix5tM5N2o1lqPu5tLe4chIiIiIiIiclNUfGnG0qVLOXTokFObi4sLO3fubKeIjEeFFxEREREREbkbqPjSjMTExPYOQURERERERETuArfN145E/lKt1Rh724iIiIiIiMjdTTNf7jDPvPKe4Tbc3bJlCzt37qS0tJTx48ezatUqAD777DPeeOMNPv/8czp06OD42pWvry8AdrudlJQUtm/fDkBkZCQLFixwfH1KREREREREpC1o5ovc9nx9fZk7dy4RERFO7ZcuXWLSpEkUFBTw/vvv4+npSUJCgqP/nXfeYe/eveTm5pKXl8f777/P1q1b2zp8ERERERERMbh2L77s3buXkJAQJk6cyPHjx294fElJCbt27boFkTXNZrPxz//8z4SGhhIaGsqsWbMoLy939L/wwgs88sgj+Pv7U1NT4zR2+/btTJgwgbCwMMLDw/nkk0/aLO472ZgxY3jsscfo2rWrU/vIkSMJCQnBy8uLTp06MXXqVD799FNHf05ODlFRUdx///3cd999zJw5k//4j/9o6/BFRERERETE4Nq9+LJ161bi4uLIycmhT58+Nzy+pKSE3bt3t+rZdXV1NzymQ4cOrFu3jry8PPLy8hgxYoRjGQxcXdqSm5vbaFxFRQVJSUls3LiR3Nxc/uVf/oWlS5e2Km5p2oEDB3jwwQcd519//TX9+/d3nPfv35+vv/66PUITERERERERA2vXPV+SkpIwm82cOHGCt99+mwULFpCSkuKYMRIXF8eoUaOoq6tjzpw5VFRUYLFYCAgIYMWKFdTU1JCamkp1dTVhYWEMHTqUGTNmEBERwUcffQRAeXm547zhODw8nOLiYiZNmkRERASvv/46Bw4coLa2Fn9/f5YvX46np2ezcXt7ezuOq6ur6dDh/2pYQUFBTY6x2+3Y7XZqamro0aMHVVVV3H///T/GzyjAl19+SXp6Ounp6Y6277//Hi8vL8e5t7c333//PXa7Xfu+iIiIiIiISJtp1+LLokWLKCkpISoqisDAQKZPn05WVha+vr6cO3eOyMhI8vPz8fb2JiUlBR8fH+x2O/Hx8ezYsYMpU6YQFxdHYWEhqampAE5LgJpSWVnJoEGDiI+PByA9PR1vb2/HpqzJyclkZWUxf/78a94nOjqaL774Ah8fH9avX3/dd+3WrRuJiYk88cQTdO7cGZvNxu9+97uW/EyGZjabHcdnzpzh4sWLTm0N7StXruSpp57CZDI5+j08PPjkk0+orKwE4Pjx43Ts2NFpadLt7i/fVe5uyrdxKNfGonwbi/JtHMq1sSjfxnIr8n3bfO3o4MGDlJeXEx0d7WgzmUyUlZUxYMAANmzYQFFRETabjUuXLtGxY8dW7K7HNAAAIABJREFUPcfDw4OQkBDHeUFBAdXV1ezZsweA2tpap6UqzXnzzTex2Wz89re/JSMjg+XLl1/z+urqarKzs9m+fTt9+vRh165dxMTEkJeXp1kY1xAYGOg4LioqwmQyObWdOnWKhQsXMm/ePKZMmeI0tn///k7XnzhxAn9/f6fxtzOz2XzHxCo3T/k2DuXaWJRvY1G+jUO5Nhbl21ham2+LxcLRo0eb7b9tii92ux1/f3+ys7Mb9eXk5GA2m8nOzsbLy4vMzExOnjzZ5H1cXV2x2+2Oc4vF4tTfqVMnp2KH3W5n2bJlzS4XupYOHToQGRnJmDFjrlt8+dOf/oS3t7djX5uxY8eSkJBARUUF3bp1u+FnG0ldXR319fXYbDbq6+uxWCy4uLhw4cIFnn76aX75y182KrwAhIWFsXHjRkaOHAnAxo0bmTp1aluHLyIiIiIiIgbX7hvuNhg8eDBlZWUUFxc72g4fPozdbqeqqgofHx+8vLyoqqoiPz/fcU1DW4MePXpgtVopKysDcLq2KaNHj2bTpk1cuXIFuDpD5dixY81ef/HiRS5evOg43717N/7+/td9v549e/LFF19w4cIFAIqLi/Hy8sLHx+e6Y40uIyODgIAAsrKyyMvLIyAggIyMDLZt28a3335LWloagwcPdvxrMHnyZP7pn/6JCRMmMGHCBEaOHMnkyZPb8U1ERERERETEiG6bmS9dunQhPT2d5ORkkpKSsFqt9OrVi8zMTCZOnMi+ffsIDg6me/fuBAYGOma0BAUFsWHDBkJDQxk2bBhLlixh8eLFzJw5k27dujFq1KhrPnf27NmkpaURGRmJyWTCZDIRExND3759m7z+/PnzJCQkYLVaAfirv/orkpOTHf0xMTEcPnwYgODgYPr168f69esZOHAgzzzzDFOnTsXNzQ13d3feeOMNLTlqgdjYWGJjY5vsi4mJaXacyWTixRdf5MUXX7xVoYmIiIiIiIhcl8n+wzU6cttqWD/2m9zTVNbUt3c4beLd18LaO4R2pbWlxqJ8G4dybSzKt7Eo38ahXBuL8m0sN7vny8CBA/Hw8GjUf9vMfJGWWbf48SYTeTeqtdbj7ubS3mGIiIiIiIiI3BQVX5qxdOlSDh065NTm4uLCzp072yki41HhRURERERERO4GKr40IzExsb1DEBEREREREZG7wG3ztSORH6q1GmNfGxEREREREbn7aebLHeaZV94zxIa7DZvtbtmyhZ07d1JaWsr48eNZtWoVALW1tSxYsICjR49y6tQpNm/ezPDhwx3j/9//+3+88sorFBUVAfDUU081+8UkERERERERkVtJM1/ktubr68vcuXOJiIho1Pfwww/z6quvcu+99zbq+/Wvf83ly5cpKChg27Zt5ObmsmPHjrYIWURERERERMTJbVF82bt3LyEhIUycOJHjx4/f8PiSkhJ27dp1CyJr3gsvvMAjjzyCv78/NTU1TV6TkJDQqL+goIDg4GAef/xxnn/+eS5fvtxWId+RxowZw2OPPUbXrl2d2t3d3ZkxYwZDhgyhQ4fG/40LCgp45pln6NSpEz179iQyMlLFFxEREREREWkXt0XxZevWrcTFxZGTk0OfPn1ueHxJSQm7d+9u1bPr6upaNS4yMpLc3Nxm+wsKCjCZTE5tNTU1vPTSS2RmZvLee+/h6enJ+vXrW/V8uTF2u52vv/66vcMQERERERERA2r34ktSUhJms5mUlBSmTZvGoUOHmDZtGuHh4YSHh1NYWAhcLZLMmjWL8PBwxo0bR0JCArW1tVRUVJCamsr+/fsJCwvj5Zdfpry83Gn/jx+eNxyvXr2aJ554gm3btlFbW8vq1auJjIwkNDSUhQsXNjubpUFQUBDdu3dvsq+iooK0tDQSEhKc2ouKihg4cCC9e/cGYPLkyfzxj39s5S8n1/Loo4+SlZVFdXU1ZWVl7NixQ7OMREREREREpF20+4a7ixYtoqSkhKioKAIDA5k+fTpZWVn4+vpy7tw5IiMjyc/Px9vbm5SUFHx8fLDb7cTHx7Njxw6mTJlCXFwchYWFpKamAlcLLNdSWVnJoEGDiI+PByA9PR1vb2+2b98OQHJyMllZWcyfP79V75SYmEhcXBze3t5O7adPn+aBBx5wnD/wwAOcPn26Vc8wArPZ7Dg+c+YMFy9edGprYLVaKS0txdX1//47T5gwgU2bNjF69Gi8vLwYOnQo+/fvb3L87exOi1dujvJtHMq1sSjfxqJ8G4dybSzKt7Hciny3e/Hlhw4ePEh5eTnR0dGONpPJRFlZGQMGDGDDhg0UFRVhs9m4dOkSHTt2bNVzPDw8CAkJcZwXFBRQXV3Nnj17gKtf0unfv3+r7r1r1y7c3NwYNWpUq8bL/wkMDHQcFxUVYTKZnNoauLm50a9fv0Z9I0eOdByvWbOGoUOHNjn+dmU2m++oeOXmKN/GoVwbi/JtLMq3cSjXxqJ8G0tr822xWDh69Giz/bdV8cVut+Pv7092dnajvpycHMxmM9nZ2Xh5eZGZmcnJkyebvI+rqyt2u91xbrFYnPo7derktB+L3W5n2bJlBAUF3fQ7fPzxxxQXFzN69GhH2/jx43nzzTfx8/Pjo48+crR/9913+Pn53fQz72Z1dXXU19djs9mor6/HYrHg4uKCq6srtbW1jjxbrVYsFgvu7u6YTCa++eYbvL296dy5M3/6059455132LJlSzu/jYiIiIiIiBhRu+/58kODBw+mrKyM4uJiR9vhw4ex2+1UVVXh4+ODl5cXVVVV5OfnO65paGvQo0cPrFYrZWVlAE7XNmX06NFs2rSJK1euAFBdXc2xY8da9Q7Lly+nqKiIgoICCgoKHM//6U9/yqOPPsqRI0ccRaOtW7c6zcCRxjIyMggICCArK4u8vDwCAgLIyMgAIDg4mICAAM6ePcusWbMICAjg1KlTABw9epQJEybw8MMPs2bNGlJSUnjwwQfb81VERERERETEoG6rmS9dunQhPT2d5ORkkpKSsFqt9OrVi8zMTCZOnMi+ffsIDg6me/fuBAYGOma0BAUFsWHDBkJDQxk2bBhLlixh8eLFzJw5k27dul13CdDs2bNJS0sjMjISk8mEyWQiJiaGvn37NjsmJiaGw4cPA1eLAP369bvul4u8vLxITExkzpw52Gw2HnroIRYvXnxjP5LBxMbGEhsb22RfQ3GrKWPHjmXs2LG3KiwRERERERGRFjPZf7g+R25bDevHfpN7msqa+vYO55Z797Ww9g6h3WltqbEo38ahXBuL8m0syrdxKNfGonwby83u+TJw4EA8PDwa9d9WM1/k+tYtfrzJRN5taq31uLu5tHcYIiIiIiIiIjdNxZdrWLp0KYcOHXJqc3FxYefOne0UkXGo8CIiIiIiIiJ3CxVfriExMbG9QxARERERERGRO9xt9bUjkQa11rt/XxsRERERERExBs18ucM888p7htpwd8uWLezcuZPS0lLGjx/PqlWrAKitrWXBggUcPXqUU6dOsXnzZoYPH+4YX1tby8svv8zevXupq6vj4YcfZsWKFdx3333t8j4iIiIiIiJiXJr5Irc1X19f5s6dS0RERKO+hx9+mFdffZV77723Ud9bb73FZ599Rl5eHh9++CGdO3dm5cqVbRGyiIiIiIiIiJM2K77s3buXkJAQJk6cyPHjx294fElJCbt27boFkTXvhRde4JFHHsHf35+amhqnPn9/fyZMmEBYWBhhYWF89dVXjr6CggKCg4N5/PHHef7557l8+TIAn376KZMnT2bs2LGMHTuW1atXoy99X9uYMWN47LHH6Nq1q1O7u7s7M2bMYMiQIXTo0Pi/cXl5OY888gg9evTAw8ODsWPH8vXXX7dV2CIiIiIiIiIObVZ82bp1K3FxceTk5NCnT58bHl9SUsLu3btb9ey6urpWjYuMjCQ3N7fZ/q1bt5Kbm0tubi7+/v4A1NTU8NJLL5GZmcl7772Hp6cn69evB8DLy4tVq1axa9cucnJy+Oyzz655f2m9yMhIPv30U86ePcvly5d59913GTFiRHuHJSIiIiIiIgbUJsWXpKQkzGYzKSkpTJs2jUOHDjFt2jTCw8MJDw+nsLAQuFokmTVrFuHh4YwbN46EhARqa2upqKggNTWV/fv3ExYWxssvv0x5ebnTHh8/PG84Xr16NU888QTbtm2jtraW1atXExkZSWhoKAsXLmw0m+UvBQUF0b179xt616KiIgYOHEjv3r0BmDx5Mn/84x8B6Nevn6Pd3d2dAQMG8N13393Q/aVlevfujZ+fHyNGjCAwMJBjx47xL//yL+0dloiIiIiIiBhQm2y4u2jRIkpKSoiKiiIwMJDp06eTlZWFr68v586dIzIykvz8fLy9vUlJScHHxwe73U58fDw7duxgypQpxMXFUVhYSGpqKnC1wHItlZWVDBo0iPj4eADS09Px9vZm+/btACQnJ5OVlcX8+fNb/V7Tpk2jvr6eESNGEBsbi7u7O6dPn+aBBx5wXPPAAw9w+vTpRmMvXLjAnj17yMrKavXz73Zms9lxfObMGS5evOjU1sBqtVJaWoqr6//9d167di0Wi4WsrCw8PDx49913eeqpp+64fV+ael+5eynfxqFcG4vybSzKt3Eo18aifBvLrch3m3/t6ODBg5SXlxMdHe1oM5lMlJWVMWDAADZs2EBRURE2m41Lly7RsWPHVj3Hw8ODkJAQx3lBQQHV1dXs2bMHuPo1nP79+7f6PQoLC/Hz86O6upqFCxeydu3aFhdyqquree6554iKimLAgAGtjuFuFxgY6DguKirCZDI5tTVwc3OjX79+Tn3nzp3j+eefZ+TIkQAMGDCAoUOH8pOf/IRu3brd+uB/BGazucn3lbuT8m0cyrWxKN/Gonwbh3JtLMq3sbQ23xaLhaNHjzbb3+bFF7vdjr+/P9nZ2Y36cnJyMJvNZGdn4+XlRWZmJidPnmzyPq6urk6b1VosFqf+Tp06YTKZnJ67bNkygoKCfpT38PPzA67u4/Lkk0+yceNGR/tHH33kuO67775zXAtw+fJlnn32Wf7xH/+RqKioHyWWu1ldXR319fXYbDbq6+uxWCy4uLjg6upKbW2t4/+A1WrFYrHg7u6OyWRi0KBB5ObmMnz4cDp27Mjbb7+Nr6/vHVN4ERERERERkbtHm39qevDgwZSVlVFcXOxoO3z4MHa7naqqKnx8fPDy8qKqqor8/HzHNQ1tDXr06IHVaqWsrAzA6dqmjB49mk2bNnHlyhXg6uyTY8eOteodLl265LhPXV0de/bs4aGHHgLg0Ucf5ciRI46i0datWx0zcCwWC88++yx/93d/x7x581r1bKPJyMggICCArKws8vLyCAgIICMjA4Dg4GACAgI4e/Yss2bNIiAggFOnTgHw4osv4u7uzpgxYwgKCuKDDz5g7dq17fkqIiIiIiIiYlBtPvOlS5cupKenk5ycTFJSElarlV69epGZmcnEiRPZt28fwcHBdO/encDAQMeMlqCgIDZs2EBoaCjDhg1jyZIlLF68mJkzZ9KtWzdGjRp1zefOnj2btLQ0IiMjMZlMmEwmYmJi6Nu3b7NjYmJiOHz4MHD1D/1+/fqxfv16jh8/ztKlSzGZTNTV1TF48GBHMcXLy4vExETmzJmDzWbjoYceYvHixQBs376djz/+mMrKSv70pz857vvcc8/d7M9614qNjSU2NrbJvoKCgmbH+fj48Nprr92qsERERERERERazGT/4doduW01rB/7Te5pKmvq2zucW+7d18LaO4R2p7WlxqJ8G4dybSzKt7Eo38ahXBuL8m0sN7vny8CBA/Hw8GjU3+YzX+TmrFv8eJOJvNvUWutxd3Np7zBEREREREREbprhiy9Lly7l0KFDTm0uLi7s3LmznSISQIUXERERERERuWsYvviSmJjY3iGIiIiIiIiIyF2szb92JHIttda7fz8bERERERERMRbDz3y50zzzynt39Ya7DRvtbtmyhZ07d1JaWsr48eNZtWoVALW1tSxYsICjR49y6tQpNm/ezPDhwx3j/+3f/o3MzEzc3d0dbXl5efTq1attX0RERERERETkf6n4IrclX19f5s6dy4cffuj43HiDhx9+mOnTp/P88883OTYkJISUlJS2CFNERERERETkulR8kdvSmDFjADhy5Ahnz551tLu7uzNjxgwAOnTQqjkRERERERG5/bXZX6979+4lJCSEiRMncvz48RseX1JSwq5du25BZM174YUXeOSRR/D396empsbRfuLECaZNm0ZwcDDjx48nISGBK1euAHDu3DnCw8MJCwtjwoQJxMXFcenS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js1mo0OHDphMJiIjI3nnnXd49tlnAXjnnXf4xS9+4c6piIiIiIiIiACtrPjicDiwWCxkZmbe1JeVlYXVaiUzMxNvb2/S09M5d+5ck9/j6enpctaHzWZz6e/UqRMmk8nluUuWLCEkJORbx1pfX8/cuXPp0qULixYtavKe9u3bM3bsWH79618zffp0unfvzk9+8hP8/f0BiIiIcK7WkevS0tJYv3698zonJ4fY2Fji4uIICwvj888/B2DatGkAHDhwgB49evDCCy/w2WefMWbMGABiYmJ44YUXWn4CIiIiIiIiIv+gVRVfBgwYQGlpKUVFRTz11FMAFBcX079/fyorK/Hx8cHb25vKykpyc3MJDAwEcLY16tatG3a7ndLSUn70ox+Rm5t72+cOHTqUzZs3M2DAADp27EhVVRUXL150Fkn+UUNDA6+//joeHh688cYbLoWc8+fP873vfY/OnTvT0NBAXl4effr0AWDIkCGsWbOGS5cu4efnx3/9139hsVju6jdra+Li4oiLi2uyLz8//5bjTCYTr732Gq+99tq9Ck1ERERERESkWVpV8aVLly6kpqaSlJREYmIidrudnj17kp6eTlRUFAcOHCAsLIyuXbsSHBzsXNESEhLCpk2biIiIYNCgQSxatIiFCxcyZcoUfH19CQ0Nve1zZ8yYwfr164mJicFkMmEymYiNjb1l8aWwsJCcnBz69OlDdHQ0AE888QRLlizh7NmzrFy5EofDgcPhICAggIULFwLwwAMPsGjRIqZPn47D4eDBBx9k5cqV390PKCIiIiIiIiKtjsmhd/HeFxoP7wkMDMTLy8vd4Xznau31dGjv4e4wWhUd7GUsyrdxKNfGonwbi/JtHMq1sSjfxnK3B+7e6v/s7b6L4ETulgovIiIiIiIi0la1qm1Hrc3ixYs5duyYS5uHhwc7d+50U0QiIiIiIiIicr9R8eU2li9f7u4QDEFbjkRERERERKQtU/HlPvPSG/sor653dxjfqd1vRgKwZcsWdu7cyYkTJxg9erTLYcSffPIJy5Yt4/z58wQFBbFy5UoefvhhAC5evMjSpUuxWq107NiRV199lQkTJrhlLiIiIiIiIiL/SGe+SKvh5+fHzJkzGTdunEv7lStXiI2NZdasWRw6dIjAwEBmz57t7J87dy49evTgo48+IiMjg7Vr11JUVNTS4YuIiIiIiIg0ScUXaTVGjBjBsGHDePDBB13a9+3bx2OPPUZ4eDheXl7ExcXx6aefcvr0aaqrqzl06BCvvvoq7du3JyAggH/+539mx44dbpqFiIiIiIiIiKsW23a0f/9+3nzzTby8vFizZg29e/e+o/ElJSWcPXuWkSNH3qMIbzZnzhwOHjzI5cuXOXLkCJ07d3b2/fWvf2Xx4sXYbDYefvhhkpKS6Nq1K0eOHGHZsmXO+7766iseeughdu3aBYDFYqFPnz60a3e97rV69WosFkuLzel+dPLkSZff6IEHHuCRRx7h1KlTfP/73wfgxjemOxwOTp482eJxioiIiIiIiDSlxVa+bNu2jfj4eLKysu648ALXiy979+5t1rPr6uqaNS4mJobs7Oyb2hsaGpg3bx6LFy8mLy+PJ598kuTkZACeeOIJsrOznX9BQUGMHj3aZfy2bduc/Sq8fLOamhrMZrNLm7e3N9XV1Xh7e/PEE0+QmpqKzWbj73//O3/+85/5+uuv3RStiIiIiIiIiKsWWfmSmJiI1Wrl7NmzbN26lblz55KcnEx1dTUA8fHxhIaGUldXx8svv8zVq1ex2WwEBQWxbNkyqqurSUlJoaqqisjISAYOHMjkyZMZN24cBw8eBKCsrMx53fg5OjqaoqIinn/+ecaNG8fatWs5fPgwtbW1WCwWli5d6rKa5R+FhIQ02X78+HG8vLx48sknAXjhhRd47rnn+O1vf+ty31dffcVHH32ktyZ9C1ar1fn5woULXLlyxdlWVVVFRUWFyz1ffvklFy9exGq18q//+q9s3ryZn/70p/j5+fHUU09RVlbmcv/9qi3MQb495ds4lGtjUb6NRfk2DuXaWJRvY7kX+W6R4suCBQsoKSlh6tSpBAcHM2nSJDIyMvDz8+PSpUvExMSQm5uL2WwmOTkZHx8fHA4HCQkJ7NixgwkTJhAfH09BQQEpKSnA9WLL7ZSXl9O/f38SEhIASE1NxWw2s337dgCSkpLIyMhwObj12zp//jw//OEPnde+vr40NDRQXl7ucl5JVlYWP/3pT+nWrZvL+IkTJ1JfX8+QIUOIi4ujQ4cOdxxDWxMcHOz8XFhYiMlkcradOnWKXbt2Oa9ramq4fPkyI0aMwN/fH4CwsDDn+Dlz5vDTn/7U5TvvR1ar9b6fg3x7yrdxKNfGonwbi/JtHMq1sSjfxtLcfNtsNo4fP37L/hZ/1fTRo0cpKytj+vTpzjaTyURpaSn9+vVj06ZNFBYW0tDQQEVFBR07dmzWc7y8vAgPD3de5+fnU1VVRV5eHgC1tbUEBATc3WS+wc6dO/nVr37l0lZQUED37t2pqqpi3rx5bNiwoVkFoLaorq6O+vp6GhoaqK+vx2az4eHhwfDhw1m9ejV5eXmEhoayYcMGLBaLs/By+vRpvv/979OhQwf+9Kc/8eGHH/KnP/3JzbMRERERERERua7Fiy8OhwOLxUJmZuZNfVlZWVitVjIzM/H29iY9PZ1z5841+T2enp4uh6zabDaX/k6dOmEymVyeu2TJkltuJboT3bt354svvnBeX7lyhXbt2rmsevnrX/9KRUUFzz777E1j4fqZJePHj+edd96563jairS0NNavX++8zsnJITY2lri4ONatW8fy5cuZN28ejz/+OGvWrHHe91//9V+kp6dz7do1+vbty8aNG/H19XXHFERERERERERu0uLFlwEDBlBaWkpRURFPPfUUAMXFxfTv35/Kykp8fHzw9vamsrKS3NxcAgMDAZxtjbp164bdbqe0tJQf/ehH5Obm3va5Q4cOZfPmzQwYMICOHTtSVVXFxYsXnasn7kRgYCDXrl3jL3/5C08++STbtm1z2fYCsGPHDiIiIvD0/L+fuKKiAi8vLzp27EhdXR15eXn07dv3jp/fVsXFxREXF9dk39NPP33LA5cnT57M5MmT72FkIiIiIiIiIs3XYm87atSlSxdSU1PZsGEDERERhIeHs379ehwOB1FRUVRXVxMWFsYrr7ziss8qJCSEr7/+moiICFasWIGnpycLFy5kypQpxMTE4OHhcdvnzpgxg4CAAGJiYhgzZgwvvvgip0+fvu2Y2NhYhgwZAlw/U2TatGkAtGvXjtWrV7Ns2TJGjBjB4cOHmTNnjnPctWvX2LNnD+PGjXP5vjNnzjB+/HgiIiKchZlZs2bd0e8nIiIiIiIiIvcXk+PGvTvSajUe3hMYGIiXl5e7w/lO1drr6dD+9sUzI9LBXsaifBuHcm0syrexKN/GoVwbi/JtLHd74O6t/s/e4itfRP6RCi8iIiIiIiLSlrX4mS+tzeLFizl27JhLm4eHBzt37nRTRCIiIiIiIiLSlhi++LJ8+XJ3h2B42nYkIiIiIiIibZnhiy/3m5fe2Ed5db27w/hO7X4z0t0hiIiIiIiIiNwzOvNFWo0tW7YQHR1NYGAgr7/+ukvfJ598QlhYGI8//jgTJ07k888/d/aVl5fzy1/+ksGDBzN48GDmzJlDVVVVS4cvIiIiIiIi0iQVX6TV8PPzY+bMmTe9ovvKlSvExsYya9YsDh06RGBgILNnz3b2v/XWW/zv//4vBw4cYP/+/Xz11VesW7eupcMXERERERERaZLbiy/79+8nPDycqKgozpw5c8fjS0pK2LNnzz2I7NbmzJnDM888g8Viobq62qVvx44djBkzhlGjRvHKK69QXl4OQENDA//yL/9CREQEERERTJs2jbKyshaNu7UbMWIEw4YN48EHH3Rp37dvH4899hjh4eF4eXkRFxfHp59+yunTpwEoKyvjueeew9vbG7PZzPDhwzl16pQ7piAiIiIiIiJyE7cXX7Zt20Z8fDxZWVn07t37jseXlJSwd+/eZj27rq6uWeNiYmLIzs6+qf306dO89dZb/P73v+ePf/wjQUFBrFmzBoB27dqxceNGcnJyyMnJYciQIaxcubJZzzeakydPYrFYnNcPPPAAjzzyiLPA8vOf/5yCggIqKiqoqKggLy+Pf/qnf3JXuCIiIiIiIiIu3Fp8SUxMxGq1kpyczMSJEzl27BgTJ04kOjqa6OhoCgoKgOtFkmnTphEdHc2oUaOYP38+tbW1XL16lZSUFD7++GMiIyNZsWIFZWVlDB482PmMG68bP69atYqxY8fy/vvvU1tby6pVq4iJiSEiIoJ58+bdtJrlH4WEhNC1a9eb2k+cOEHfvn3x9fUF4Nlnn2X37t3OfrPZ7PxcVVVFu3Zur33dF2pqalx+OwBvb29nnvr164fdbnee+eLh4cGLL77ojlBFREREREREbuLWtx0tWLCAkpISpk6dSnBwMJMmTSIjIwM/Pz8uXbpETEwMubm5mM1mkpOT8fHxweFwkJCQwI4dO5gwYQLx8fEUFBSQkpIC8I1becrLy+nfvz8JCQkApKamYjab2b59OwBJSUlkZGS4nCnybQUEBPC3v/2Nzz77jB49epCbm0tNTQ3l5eXOrTTTp0/nv//7v/Hx8eHtt9++42e0VVar1fn5woULXLlyxdlWVVVFRUWFyz1ffvklFy9exGq1snTpUh555BHn75mZmclLL73ErFmzWnYS98CNc5a2T/k2DuXaWJRvY1G+jUO5Nhbl21juRb5bzaumjx49SllZGdOnT3e2mUwmSktL6devH5s2baKwsJCGhgYqKiro2LFjs57j5eVFeHi48zo/P5+qqiry8vIAqK2tJSAgoFnf3atXLxYtWsTs2bMxmUw899xzAHh6/t/P/Lvf/Y6Ghgb+7d/+jbS0NJYuXdqsZ7U1wcHBzs+FhYWYTCZn26lTp9i1a5fzuqamhsuXLzNixAj8/f0pKysjKSnJmTdfX19efPFFl++8H1mt1vt+DvLtKd/GoVwbi/JtLMq3cSjXxqJ8G0tz822z2Th+/Pgt+1tN8cXhcGCxWMjMzLypLysrC6vVSmZmJt7e3qSnp3Pu3Lkmv8fT0xOHw+G8ttlsLv2dOnXCZDK5PHfJkiWEhIR8J/MYNWoUo0aNAqC4uJitW7fi7e3tck+7du2IiYlhxIgRKr7coK6ujvr6ehoaGqivr8dms+Hh4cHw4cNZvXo1eXl5hIaGsmHDBiwWC/7+/gAEBgby/vvvM2/ePADee+89lzNiRERERERERNyp1Rw6MmDAAEpLSykqKnK2FRcX43A4qKysxMfHB29vbyorK8nNzXXe09jWqFu3btjtdkpLSwFc7m3K0KFD2bx5M9euXQOub3FpfItOc1y+fBm4XvRJSUlh6tSpwPXXJV+5csV53969e1Ug+AdpaWkEBQWRkZFBTk4OQUFBpKWl4evry7p161i7di0DBw6kuLjYeZAxXD876PPPP+fZZ59lyJAhfPbZZzrMWERERERERFqNVrPypUuXLqSmppKUlERiYiJ2u52ePXuSnp5OVFQUBw4cICwsjK5duxIcHOxc0RISEsKmTZuIiIhg0KBBLFq0iIULFzJlyhR8fX0JDQ297XNnzJjB+vXriYmJwWQyYTKZiI2Nda6qaEpsbCzFxcUAhIWF0adPH+d5I/Pnz+eLL77AbrczcuRIJk2aBFwvysyfPx+73Q7Aww8/TFJS0t3+bG1KXFwccXFxTfY9/fTTt3yrVeO/ExEREREREZHWyOS4cY+OtFqN+8feyj5PeXW9u8P5Tu1+M9LdIbRK2ltqLMq3cSjXxqJ8G4vybRzKtbEo38Zyt2e+BAYG4uXldVN/q1n5It/OxoXDm0zk/azWXk+H9h7uDkNERERERETknlDx5RYWL17MsWPHXNo8PDzYuXOnmyJqu1R4ERERERERkbZMxZdbWL58ubtDEBEREREREZE2oNW87UiMq9bets6wEREREREREbmRVr7cZ156Y1+bPXB3y5Yt7Ny5kxMnTjB69GiX10V/8sknLFu2jPPnzxMUFMTKlSt5+OGHASgvL2fp0qV88sknADzzzDMsW7YMb2/vlp+MiIiIiIiIyD/QyhdpNfz8/Jg5cybjxo1zab9y5QqxsbHMmjWLQ4cOERgYyOzZs539b731Fv/7v//LgQMH2L9/P1999RXr1q1r6fBFREREREREmtRixZf9+/cTHh5OVFQUZ86cuePxJSUl7Nmz5x5Edmtz5szhmWeewWKxUF1d3eQ98+fPd+kvKyujX79+REZGOv+uXr0KwMGDB3n88ced7ePHj2+xudwPRowYwbBhw3jwwQdd2vft28djjz1GeHg4Xl5exMXF8emnn3L69Gng+m/+3HPP4e3tjdlsZvjw4Zw6dcodUxARERERERG5SYttO9q2bRvx8fGEh4c3a3xJSQkFBQWMHDnyjsfW1dXh6XnnU42JiWHBggU8/fTTTfbn5+djMpluajebzWRnZzc5xt/fX29MukMnT57EYrE4rx944AEeeeQRTp06hb+/Pz//+c/ZunUro0ePBiAvL4+hQ4e6K1wRERERERERFy2y8iUxMRGr1UpycjITJ07k2LFjTJw4kejoaKKjoykoKACuF0mmTZtGdHQ0o0aNYv78+dTW1nL16lVSUlL4+OOPiYyMZMWKFZSVlTF48GDnM268bvy8atUqxo4dy/vvv09tbS2rVq0iJiaGiIgI5s2bd8vVLI1CQkLo2rVrk31Xr15l/fr1zJ8//7v5keSWampqMJvNLm3e3t7O/PXr1w+73c7gwYMZPHgwHh4evPjii+4IVUREREREROQmLbLyZcGCBZSUlDB16lSCg4OZNGkSGRkZ+Pn5cenSJWJiYsjNzcVsNpOcnIyPjw8Oh4OEhAR27NjBhAkTiI+Pp6CggJSUFOB6geV2ysvL6d+/PwkJCQCkpqZiNpvZvn07AElJSWRkZLicHXInli9fTnx8/E1FAYDq6mqio6MBGDlyJNOmTXOukDl37hxjx47F09OTF198kbFjxzbr+W2N1Wp1fr5w4QJXrlxxtlVVVVFRUeFyz5dffsnFixexWq0sXbqURx55hLfffhuAzMxMXnrpJWbNmtWyk7gHbpyztH3Kt3Eo18aifBuL8m0cyrWxKN/Gci/y3eJvOzp69ChlZWVMnz7d2WYymSgtLaVfv35s2rSJwsJCGhoaqKiooGPHjs16jpeXl8sWp/z8fKqqqsjLywOgtraWgICAZn33nj17aN++PaGhoTf1+fn58cEHH9C1a1e++uorXn31Vbp06cL48eP5yU9+wgcffIDZbOazzz5jypQpfP/737/ltiYjCQ4Odn4uLCzEZDI5206dOsWuXbuc1zU1NVy+fJkRI0bg7+9PWVkZSUlJznz6+vry4osvunzn/chqtd73c5BvT/k2DuXaWJRvY1G+jUO5Nhbl21iam2+bzcbx48dv2d/ixReHw4HFYiEzM/OmvqysLKxWK5mZmXh7e5Oens65c+ea/B5PT08cDofz2mazufR36tTJ5TwWh8PBkiVLCAkJues5HDp0iKKiIpdzRUaPHs3vfvc7Hn30UedWpa5duzJmzBiOHDnC+PHjXV593LNnT4YNG8aRI0dUfPn/1dXVUV9fT0NDA/X19dhsNjw8PBg+fDirV68mLy+P0NBQNmzYgMViwd/fH4DAwEDef/995s2bB8B7773nckaMiIiIiIiIiDu1+KumBwwYQGlpKUVFRc624uJiHA4HlZWV+Pj44O3tTWVlJbm5uc57GtsadevWDbvdTmlpKYDLvU0ZOnQomzdv5tq1a8D1rSyNb8u5U0uXLqWwsJD8/Hzy8/Odz3/00Uf56quvsNvtAHz99dfk5+c7V2RcunTJWTAqLy/no48+avbqm7YoLS2NoKAgMjIyyMnJISgoiLS0NHx9fVm3bh1r165l4MCBFBcXs2bNGue4xMREPv/8c5599lmGDBnCZ599xsqVK904ExEREREREZH/0+IrX7p06UJqaipJSUkkJiZit9vp2bMn6enpREVFceDAAcLCwujatSvBwcHOFS0hISFs2rSJiIgIBg0axKJFi1i4cCFTpkzB19e3yS1AN5oxYwbr168nJiYGk8mEyWQiNjbWuXqiKbGxsRQXFwMQFhZGnz59nOeK3IrVaiUlJYV27dpRV1dHaGgov/jFLwD485//zLvvvounpyf19fVERUUxbNiwO/j12ra4uDji4uKa7Hv66afZu3dvk32N/35EREREREREWiOT48a9O9JqNe4feyv7POXV9e4O5zu1+81Id4fQKmlvqbEo38ahXBuL8m0syrdxKNfGonwby92e+RIY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L4GBgXh5ed3U3+IrX+TubFw4vMlE3o9q7fV0aO/h7jBERERERERE7inDF18WL17MsWPHXNo8PDzYuXOnmyIyDhVeRERERERExAgMX3xZvny5u0MQERERERERkTasxd92JNKo1t42zq4RERERERERuR3Dr3y537z0xr42d+Duli1b2LlzJydOnGD06NGsXLnSec8nn3zCsmXLOH/+PEFBQaxcuZKHH37Y5XvKy8sJCwujV69evPvuuy06BxEREREREZFvopUv4nZ+fn7MnDmTcePGubRfuXKF2NhYZs2axaFDhwgMDGT27Nk3jU9OTr7tK8NFRERERERE3MntxZf9+/cTHh5OVFQUZ86cuePxJSUl7Nmz5x5Edms7duxgzJgxjBo1ildeeYXy8vK77jOyESNGMGzYMB588EGX9n379vHYY48RHh6Ol5cXcXFxfPrpp5w+fdp5z5EjRzh58iTR0dEtHbaIiIiIiIjIt+L24su2bduIj48nKyuL3r173/H4kpIS9u7d26xn19XV3fGY06dP89Zbb/H73/+eP/7xjwQFBbFmzZq76pOmnTx5EovF4rx+4IEHeOSRRzh16hQA9fX1/OY3v+HXv/41JpPJXWGKiIiIiIiI3JZbiy+JiYlYrVaSk5OZOHEix44dY+LEiURHRxMdHU1BQQFwvUgybdo0oqOjGTVqFPPnz6e2tparV6+SkpLCxx9/TGRkJCtWrKCsrIzBgwc7n3HjdePnVatWMXbsWN5//31qa2tZtWoVMTExREREMG/ePKqrq28Z84kTJ+jbty++vr4APPvss+zevfuu+qRpNTU1mM1mlzZvb29nfv793/+doKAgAgMD3RGeiIiIiIiIyLfi1gN3FyxYQElJCVOnTiU4OJhJkyaRkZGBn58fly5dIiYmhtzcXMxmM8nJyfj4+OBwOEhISGDHjh1MmDCB+Ph4CgoKSElJAa4XWG6nvLyc/v37k5CQAEBqaipms5nt27cDkJSUREZGRpNniwAEBATwt7/9jc8++4wePXqQm5tLTU0N5eXlze77x+02RmK1Wp2fL1y4wJUrV5xtVVVVVFRUuNzz5ZdfcvHiRfbv38/GjRt54403sFqtnDt3jqqqKpd724K2Nh+5PeXbOJRrY1G+jUX5Ng7l2liUb2O5F/luNW87Onr0KGVlZUyfPt3ZZjKZKC0tpV+/fmza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kqTY2Fh9+umnunTpkpMjg6O6dOmiwYMH2x//7Gc/U1lZWaPPKSgoUHh4uP2vopMmTVJ+fn5zholmdPLkSfn4+CgyMlLSrXzu2bPnrn1wHTdv3tTu3bs1YcKERrcj364jMjJSISEhddoam6Md7UPrUF++HZm/JeZwV1BfvhvDPO667pbre52/JXLtChoatx19Dzcl59x25AIsFou6desmDw8PSZKHh4eCg4NlsVjsl7nCddlsNr3zzjuKjo62t02bNk21tbUaNmyY5s2bJ29vb1ksFoWGhtq3CQ0NlcVicUbIcMCCBQtkGIYiIiL03HPP3ZHPwMBA2Ww2XblypdG+Ll26OCN8OMBsNqtbt24aMGCAve3750GnTp3It4trbI42DMOhPuZ211Df/C0xh7dFP3TsZlx3bfXN3xJzeFvw3XHb0fdwU3LOlS+Ak7344ovq2LGjpk6dKknav3+/du7cqaysLP33v/9Venq6kyNEU2VlZem9997Tjh07ZBiGUlNTnR0SWsCOHTvq/NWM8wBoW74/f0vM4W0RY7f7+f78LXEetBX1jdstieKLCwgJCdGFCxdUW1srSaqtrVV5efkPujQSrdPq1atVUlKi1157zb443+28+vn5aeLEiTpy5Ii9/buXNpeVlXEOuIjbefL29taUKVN05MiRO/J56dIltWvXTl26dGm0D67hwoULKioq0pgxY+xt9Z0Ht9vJt+tqbI52tA+tX33zt8Qc3hY5MnYzrruu+uZviTm8Lfj+uO3oe7gpOaf44gKCgoLUv39/5ebmSpJyc3PVv39/Lkt2cX/961918uRJpaeny9vbW5J09epV3bhxQ5JktVq1d+9e9e/fX5I0dOhQnThxQufOnZMkbdu2TTExMU6JHffu22+/VUVFhSTJMAzl5eWpf//+Cg8P140bN3T48GFJt/I5evRoSWq0D65h165dGj58uAICAiQ1fB5I5NvVNTZHO9qH1q2++VtiDm+LHB27Gddd1/fnb4k5vC2ob9x29D3clJybDMMwftQjQ7M4c+aMUlJSdO3aNXXq1EmrV69W7969nR0WHHT69GnFxsbqgQceUPv27SVJ999/v/7whz9o6dKlMplMslqtGjRokBYtWiRfX19J0ocffqi0tDTZbDb1799fq1atUseOHZ15KLiLr776SvPmzVNtba1sNpsefPBBvfDCCwoODtaRI0e0bNmyOl9T17VrV0lqtA+t329+8xstXrxYw4YNk9T4eSCRb1excuVK/eMf/9A333yjgIAAdenSRe+//36jc7SjfXC++vL92muv1Tt/p6en6+jRo8zhLqy+fGdmZjo8djOut14NjeXSnfO3xBzu6hr63JWenu7we9jRnFN8AQAAAAAAaEbcdgQAAAAAANCMKL4AAAAAAAA0I4ovAAAAAAAAzYjiCwAAAAAAQDOi+AIAAAAAANCMKL4AAAAAAAA0I09nBwAAAOAKoqOj9c0338jDw8PetmfPHnXr1s2JUQEAAFdA8QUAAOAeZWZm6tFHH3VqDFarVZ6e/BcOAABXwm1HAAAAP6JLly4pMTFRkZGReuSRRzRlyhTZbDZJksVi0dy5czVkyBANHjxYqampkiSbzaaMjAyNHDlSUVFRWrhwoSoqKiRJpaWlCgsL07vvvqsRI0boqaeekiR9/PHHmjRpkiIjIxUXF6eDBw8654ABAMBd8WcTAACAH9GWLVvUrVs3ffTRR5KkY8eOyWQyqba2VomJiRoyZIjMZrM8PDx04sQJSdLOnTu1a9cu/f3vf1dgYKCSk5OVmpqqtLQ0++sWFRUpLy9P7dq104ULF5SYmKg1a9Zo6NCh+uijj5SUlKT8/HwFBgY65bgBAEDDuPIFAADgHj377LOKjIxUZGSknnnmmXq38fT01Ndff62ysjJ5eXkpMjJSJpNJx48fV3l5uRYuXKiOHTvKx8dHkZGRkqTdu3dr+vTp6tGjh3x9ffXcc88pLy9PVqvV/rrz5s1Tx44d1b59e+Xk5GjYsGEaPny42rVrp1/+8pcKDw/XgQMHWuT3AAAAfhiufAEAALhH6enpd13zZdasWdqwYYNmzpwpSXriiSc0Z84cWSwWhYaG1rteS3l5ubp3725/3L17d1mtVl28eNHedt9999l/Lisr0549e7Rv3z57m9Vq1eDBgx0+NgAA0HwovgAAAPyI/Pz8lJKSopSUFH3++ed66qmnNHDgQIWEhMhisdS7YG5wcLDOnz9vf1xWViZPT08FBQXpf//7nyTJZDLZ+0NCQjR27FitXLmyZQ4KAAA0CbcdAQAA/Ij27dunkpISGYYhf39/eXh4yGQy6eGHH9ZPfvITvfLKK/r2229VXV2t4uJiSVJsbKzeeustffXVV6qqqtKrr76qmJiYBr/VKC4uTvv27dO//vUv1dbWqrq6WgcPHrQXagAAQOtC8QUAAOBHVFJSohkzZmjQoEF64oknNHnyZA0ZMkQeHh7KzMxUSUmJRo4cqWHDhik/P1+SNGHCBMXFxWnq1Kn61a9+JW9vby1ZsqTBfYSEhCgjI0Ovv/66oqKiNHz4cL355pv2b1UCAACti8kwDMPZQQAAAAAAALRVXPkCAAAAAADQjCi+AAAAAAAANCOKLwAAAAAAAM2I4gsAAAAAAEAzovgCAAAAAADQjCi+AAAAAAAANCOKLwAAAAAAAM2I4gsAAAAAAEAzovgCAAAAAADQjP4Pu8CmhGAPTTUAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1296x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt     \n",
    "model.feature_importances_\n",
    "from matplotlib import pyplot\n",
    "from xgboost import plot_importance\n",
    "fig, ax = plt.subplots(figsize=(18,10))\n",
    "plot_importance(model, max_num_features=35, height=0.8, ax=ax)\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Making Predictions and Submitting the results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "p1 = model.predict_proba(df_test)[:,-1]\n",
    "submission = pd.DataFrame(p1)\n",
    "submission = submission.rename(columns={0: \"Class\"})\n",
    "submission.index = submission['Class']\n",
    "submission.drop('Class',axis=1,inplace=True)\n",
    "submission.to_csv('submissiom.csv',header=True, index=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "keras_tf_work",
   "language": "python",
   "name": "keras_tf_work"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
